Wenn Sie an eine nicht blockierende, asynchrone Verarbeitung denken, verwenden Sie wahrscheinlich ein asynchrones Framework/Server (oder sollten es verwenden).
-
Wenn Sie Tornado verwenden, gibt es Tornado-Redis . Es verwendet native Tornado-Generatoraufrufe. Seine Websocket-Demo bietet ein Beispiel für die Verwendung in Kombination mit pub/sub.
-
wenn Sie Twisted verwenden, gibt es txRedis . Dort haben Sie auch ein Pub/Sub-Beispiel.
-
Es scheint auch, dass Sie Redis-py in Kombination mit Gevent ohne Probleme verwenden können, indem Sie Gevents Monkey-Patching verwenden (
gevent.monkey.patch_all()
). ).
UPDATE:Seit der ursprünglichen Antwort sind 5 Jahre vergangen, in der Zwischenzeit hat Python native async IO-Unterstützung erhalten. Es gibt jetzt AIORedis, einen asynchronen IO Redis-Client.