pool = redis.ConnectionPool(host='10.0.0.1', port=6379, db=0) r = redis.Redis(connection_pool=pool)
字符串vs.
r = redis.Redis(host='10.0.0.1', port=6379, db=0)
型这两个很好。使用连接池背后的想法是什么?什么时候使用它?
mw3dktmi1#
从redis-py文档:在后台,redis-py使用连接池来管理到Redis服务器的连接。默认情况下,你创建的每一个Redis示例都会创建自己的连接池。你可以覆盖这个行为,并通过将一个已经创建的连接池示例传递给连接池来使用现有的连接池。Redis类的pool参数。你可以选择这样做,以实现客户端分片或更细粒度地控制如何管理连接。所以,通常这不是你需要自己处理的事情,如果你做了,那么你就知道了!
1szpjjfi2#
默认情况下,您创建的每个Redisinstance都会依次创建自己的连接池。您可以通过将已创建的connection pool示例传递给Redis类的connection_pool参数来覆盖此行为并使用现有的连接池。Example :个
Redis
instance
connection pool
connection_pool
Example :
class RedisConnection: def __new__(cls): if not hasattr(cls, 'instance'): pool = redis.ConnectionPool(host='******', password='*****', port=*****, db=0) cls.instance = redis.Redis(connection_pool=pool) return cls.instance obj_1=RedisConnection() print(id(obj_1)) obj_2=RedisConnection() print(id(obj_2))
字符串redisconnectionpoolingpython
redis
connectionpooling
python
2条答案
按热度按时间mw3dktmi1#
从redis-py文档:
在后台,redis-py使用连接池来管理到Redis服务器的连接。默认情况下,你创建的每一个Redis示例都会创建自己的连接池。你可以覆盖这个行为,并通过将一个已经创建的连接池示例传递给连接池来使用现有的连接池。Redis类的pool参数。你可以选择这样做,以实现客户端分片或更细粒度地控制如何管理连接。
所以,通常这不是你需要自己处理的事情,如果你做了,那么你就知道了!
1szpjjfi2#
默认情况下,您创建的每个
Redis
instance
都会依次创建自己的连接池。您可以通过将已创建的connection pool
示例传递给Redis类的connection_pool
参数来覆盖此行为并使用现有的连接池。Example :
个字符串
redis
connectionpooling
python