Se você está pensando em processamento assíncrono e sem bloqueio, provavelmente está usando (ou deveria usar) framework/servidor assíncrono.
-
se você estiver usando o Tornado, há Tornado-Redis . Está usando chamadas nativas do gerador Tornado. Sua demonstração do Websocket fornece um exemplo de como usá-lo em combinação com pub/sub.
-
se você estiver usando o Twisted, há txRedis . Lá você também tem o exemplo pub/sub.
-
também parece que você pode usar o Redis-py combinado com o Gevent sem problemas usando o patch de macaco do Gevent (gevent.monkey.patch_all()
).
ATUALIZAÇÃO:Já se passaram 5 anos desde a resposta original, nesse meio tempo o Python obteve suporte de E/S assíncrono nativo. Agora existe o AIORedis, um cliente IO Redis assíncrono.