网上找了一圈单例模式连接redis,资源很少,找到了也是不可用的。自己动手写一个,测试可用。
import redis
class RedisModel(object):
_pool = None
def __init__(self):
print('init')
self._conn = redis.Redis(connection_pool=RedisModel._pool)
def __new__(cls, *args, **kwargs):
if not cls._pool:
print('new')
cls._pool = redis.ConnectionPool(
host='127.0.0.1',
)
return super(RedisModel,cls).__new__(cls)
def get(self):
print(self._conn.llen('xxx'))
db1 = RedisModel()
db2 = RedisModel()
db3 = RedisModel()
db1.get()