对于redis连接我的处理有两个方案:
个人觉得第二种可以减少对象创建,销毁的开销,减少redis连接数,但是对于高并发情况下是否不尽人意,或者说对于redis在设置了连接超市的情况下,使用redis单例是否有意义?
1
BeginMan OP 求指导 :-D
|
2
ipconfiger 2015-07-27 17:26:05 +08:00
有现成的连接池不用!
|
3
BeginMan OP 我现在的处理如下:
class RedisSinglePool(object): """redis单例""" def __init__(self, db=0): self.db = db if not hasattr(RedisSinglePool, 'pool'): RedisSinglePool.createPool(self.db) self._connection = redis.Redis(connection_pool=RedisSinglePool.pool) @staticmethod def createPool(db): # 创建连接池 RedisSinglePool.pool = redis.ConnectionPool( host=settings.redis_svr_addr, port=settings.redis_svr_addr_port, db=db, password=settings.redis_svr_pass) def getR(self): return self._connection 维护一个连接池。 |
4
vincenttone 2015-07-27 17:37:06 +08:00
要看扩展是不是有连接池
|
5
aisk 2015-07-27 17:53:38 +08:00
没明白你的代码要干嘛,直接全局创建 redis 实例然后 import 不就好了?
|
6
lakechan96 2015-07-27 17:54:01 +08:00
见过一个项目的redis把最大连接数设置到了100万个,也许是下下策,慎用
|