短い質問。
redis-py を使用して redis サーバーにいくつかのキーを設定していますが、奇妙な動作が発生しています。
StrictRedis.pipe と関係があると思われます。コマンドを同じパイプにプッシュする複数のスレッドがあり、しばらくすると、このパイプで実行を実行し、そのすべてのコマンドを実行します。パイプがスレッドセーフかどうか知りたいですか? 同期メカニズムなしで複数のスレッドからコマンドをプッシュできますか?
ありがとうございました。
短い質問。
redis-py を使用して redis サーバーにいくつかのキーを設定していますが、奇妙な動作が発生しています。
StrictRedis.pipe と関係があると思われます。コマンドを同じパイプにプッシュする複数のスレッドがあり、しばらくすると、このパイプで実行を実行し、そのすべてのコマンドを実行します。パイプがスレッドセーフかどうか知りたいですか? 同期メカニズムなしで複数のスレッドからコマンドをプッシュできますか?
ありがとうございました。
ドキュメントによると、そうではないようです:
「スレッド間で PubSub または Pipeline オブジェクトを渡すのは安全ではありません。」
したがって、何らかの同期メカニズムが必要だと思います。私は何もテストしていないことを認めなければなりませんが、実装する場合はMultithreaded queueを使用しようとします。
私はPythonの専門家ではないので、もっと良い方法があるかもしれません。
ただし、これが役立つことを願っています