处理Redis连接的最佳模式是什么(通过Python-RQ直接和间接地与Redis交互)?
通常,数据库连接完成后需要关闭/返回到池中,但我不知道如何使用redis-py执行此操作。这让我想知道我是不是做错了。
此外,我在将作业排入RQ时看到了一些性能下降,我被告知这可能与连接使用/重用不良有关。
基本上,我有兴趣知道正确的模式,所以我可以验证或更正我们在申请中的内容。
非常感谢!如果有更多有用的信息,请告诉我。
答案 0 :(得分:5)
在幕后,redis-py使用连接池来管理与Redis服务器的连接。默认情况下,您创建的每个Redis实例将依次创建自己的连接池。您可以通过将已创建的连接池实例传递给Redis类的connection_pool参数来覆盖此行为并使用现有连接池。您可以选择执行此操作以实现客户端分片,或者对如何管理连接进行更细粒度的控制
pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
r = redis.Redis(connection_pool=pool)