Si vous envisagez un traitement asynchrone non bloquant, vous utilisez probablement (ou devriez utiliser) un framework/serveur asynchrone.
-
si vous utilisez Tornado, il y a Tornado-Redis . Il utilise des appels de générateur Tornado natifs. Sa démo Websocket fournit un exemple sur la façon de l'utiliser en combinaison avec pub/sub.
-
si vous utilisez Twisted, il y a txRedis . Là, vous avez également un exemple de pub/sub.
-
il semble également que vous pouvez utiliser Redis-py combiné avec Gevent sans problème en utilisant le correctif de singe de Gevent (
gevent.monkey.patch_all()
).
MISE À JOUR :5 ans se sont écoulés depuis la réponse d'origine, en attendant, Python a obtenu la prise en charge native des E/S asynchrones. Il y a maintenant AIORedis, un client Redis IO asynchrone.