2016-02-10 19 views
3
pool = redis.ConnectionPool(host='10.0.0.1', port=6379, db=0) 
r = redis.StrictRedis(connection_pool=pool) 

Redis py:何时使用连接池?

r = redis.StrictRedis(host='10.0.0.1', port=6379, db=0) 

这两个作品的罚款。

使用连接池的想法是什么?你什么时候使用它?

回答

3

redis-py docs

在幕后,Redis的-PY使用连接池管理到Redis的服务器的连接。默认情况下,您创建的每个Redis实例将依次创建自己的连接池。您可以通过将已创建的连接池实例传递给Redis类的connection_pool参数来覆盖此行为并使用现有连接池。您可以选择这样做,以实现客户端分片或更好地控制连接的管理方式。

所以,通常这不是你需要处理自己的事情,如果你这样做,那么你知道!

+0

我读了那个文档,我仍然感到困惑,或者我不明白为什么你会使用它,当你可以用host/port/db实例化StrictRedis。如果你必须实例化大量的StrictRedis实例,是不是需要重新输入? – ealeon

+0

不,这是如果你需要管理连接池。也许你有特定的设置,资源受限或需要针对某些特殊情况进行优化的用例,或者如文档中的示例所示,要实现客户端分片。 –

+0

好吧,也许我只是没有清楚的理解这些概念。 idont知道为什么在不使用连接池的情况下指定主机时,您无法在没有连接池的情况下执行客户端分片。抱歉不理解。任何好的教程/文档我可以阅读? – ealeon