非ブロッキングの非同期処理を考えている場合は、おそらく非同期フレームワーク/サーバーを使用しています(または使用する必要があります)。
-
Tornadoを使用している場合は、 Tornado-Redisがあります。 。ネイティブのトルネードジェネレーター呼び出しを使用しています。そのWebsocketデモは、pub/subと組み合わせて使用する方法の例を提供します。
-
Twistedを使用している場合は、 txRedisがあります 。そこにはpub/subの例もあります。
-
また、Geventのモンキーパッチ(
gevent.monkey.patch_all()
)を使用すると、Redis-pyをGeventと組み合わせて問題なく使用できるようです。 )。
更新:最初の回答から5年が経過しましたが、その間にPythonはネイティブの非同期IOサポートを取得しました。現在、非同期IORedisクライアントであるAIORedisがあります。