Se você estiver usando a funcionalidade redis pub/sub em seu programa node.js, você deve dedicar uma conexão de cliente redis para ouvir em algum canal e uma segunda conexão de cliente redis para enviar comandos normais e/ou publicar mensagens para seus canais. Dos documentos node_redis:
Quando um cliente emite um SUBSCRIBE ou PSUBSCRIBE, essa conexão é colocada no modo "pub/sub". Nesse ponto, apenas os comandos que modificam o conjunto de assinaturas são válidos. Quando o conjunto de assinaturas está vazio, a conexão volta ao modo normal.
Se você precisar enviar comandos regulares para o Redis enquanto estiver no modo pub/sub, basta abrir outra conexão.
Seu problema também está relacionado a estas perguntas:
- Redis / Node.js - 2 clientes (1 pub/sub) causando problemas com gravações
- Por que não posso ter um único cliente Redis atuando como PUB e Sub na mesma conexão?