Jeśli myślisz o nieblokującym, asynchronicznym przetwarzaniu, prawdopodobnie używasz (lub powinieneś używać) asynchronicznego frameworka/serwera.
-
jeśli używasz Tornado, istnieje Tornado-Redis . Używa natywnych wywołań generatora Tornado. Jego demo Websocket zawiera przykład, jak używać go w połączeniu z pub/sub.
-
jeśli używasz Twisted, istnieje txRedis . Tam też masz przykład pub/sub.
-
wydaje się również, że możesz używać Redis-py w połączeniu z Gevent bez problemów za pomocą łatania małp Gevent (
gevent.monkey.patch_all()
).
AKTUALIZACJA:Minęło 5 lat od pierwotnej odpowiedzi, w międzyczasie Python otrzymał natywną obsługę asynchronicznego IO. Teraz jest AIOREdis, asynchroniczny klient IO Redis.