如何使用Python / Python RQ正确处理Redis连接?

时间:2013-03-13 17:21:28

标签: python database redis database-connection

处理Redis连接的最佳模式是什么(通过Python-RQ直接和间接地与Redis交互)?

通常,数据库连接完成后需要关闭/返回到池中,但我不知道如何使用redis-py执行此操作。这让我想知道我是不是做错了。

此外,我在将作业排入RQ时看到了一些性能下降,我被告知这可能与连接使用/重用不良有关。

基本上,我有兴趣知道正确的模式,所以我可以验证或更正我们在申请中的内容。

非常感谢!如果有更多有用的信息,请告诉我。

1 个答案:

答案 0 :(得分:5)

在幕后,redis-py使用连接池来管理与Redis服务器的连接。默认情况下,您创建的每个Redis实例将依次创建自己的连接池。您可以通过将已创建的连接池实例传递给Redis类的connection_pool参数来覆盖此行为并使用现有连接池。您可以选择执行此操作以实现客户端分片,或者对如何管理连接进行更细粒度的控制

pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
r = redis.Redis(connection_pool=pool)