Pokud ve svém programu node.js používáte funkcionalitu redis pub/sub, měli byste vyhradit jedno připojení klienta redis pro naslouchání na některém kanálu a druhé připojení klienta redis pro odesílání normálních příkazů a/nebo publikování zpráv na váš kanál (kanály). Z dokumentů node_redis:
Když klient vydá SUBSCRIBE nebo PSUBSCRIBE, toto připojení se přepne do režimu „pub/sub“. V tomto okamžiku jsou platné pouze příkazy, které upravují sadu odběrů. Když je sada předplatných prázdná, připojení se vrátí do normálního režimu.
Pokud potřebujete posílat běžné příkazy do Redis v režimu pub/sub, stačí otevřít jiné připojení.
Váš problém také souvisí s těmito otázkami:
- Redis / Node.js – 2 klienti (1 pub/sub) způsobující problémy se zápisy
- Proč nemohu mít jediného klienta Redis, který by fungoval jako PUB a Sub ve stejném připojení?