Als u redis pub/sub-functionaliteit gebruikt binnen uw node.js-programma, moet u één redis-clientverbinding toewijzen voor het luisteren op een bepaald kanaal en een tweede redis-clientverbinding voor het verzenden van normale opdrachten en/of het publiceren van berichten naar uw kanaal(en). Van node_redis docs:
Wanneer een klant een SUBSCRIBE of PSUBSCRIBE uitgeeft, wordt die verbinding in de "pub/sub"-modus gezet. Op dat moment zijn alleen opdrachten die de abonnementsset wijzigen geldig. Als de abonnementsset leeg is, wordt de verbinding weer in de normale modus gezet.
Als u in de pub/sub-modus regelmatig opdrachten naar Redis moet sturen, opent u gewoon een andere verbinding.
Uw probleem houdt ook verband met deze vragen:
- Redis / Node.js - 2 clients (1 pub/sub) die problemen met schrijven veroorzaken
- Waarom kan ik geen enkele Redis-client als PUB en Sub in dezelfde verbinding hebben?