7

Redis接続を処理するための最良のパターンは何ですか(Python-RQを介して直接および間接的にRedisと対話するための両方)?

通常、データベース接続は完了時に閉じるかプールに戻す必要がありますが、redis-pyを使用してそれを行う方法がわかりません。それは私がそれを間違った方法でやっているのだろうかと思います。

また、ジョブをRQにキューイングするときにパフォーマンスが低下することもあります。これは、接続の使用率や再利用が不十分であることに関連している可能性があると言われています。

基本的に、私は正しいパターンを知ることに興味があるので、アプリケーションにあるものを検証または修正することができます。

どうもありがとう!役立つ情報が他にもある場合は、お知らせください。

4

1 に答える 1

5

舞台裏では、redis-py は接続プールを使用して Redis サーバーへの接続を管理します。デフォルトでは、作成する各 Redis インスタンスは、独自の接続プールを作成します。作成済みの接続プール インスタンスを Redis クラスの connection_pool 引数に渡すことで、この動作をオーバーライドし、既存の接続プールを使用できます。クライアント側のシャーディングを実装するため、または接続の管理方法をより細かく制御するために、これを行うことを選択できます。

pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
r = redis.Redis(connection_pool=pool)
于 2013-03-15T13:20:46.200 に答える