Hvis du bruger redis pub/sub-funktionalitet i dit node.js-program, bør du dedikere en redis-klientforbindelse til at lytte på en eller anden kanal og en anden redis-klientforbindelse til at sende normale kommandoer og/eller udgive beskeder til dine kanal(er). Fra node_redis docs:
Når en klient udsteder en SUBSCRIBE eller PSUBSCRIBE, sættes forbindelsen i "pub/sub"-tilstand. På det tidspunkt er kun kommandoer, der ændrer abonnementssættet, gyldige. Når abonnementssættet er tomt, sættes forbindelsen tilbage i normal tilstand.
Hvis du har brug for at sende almindelige kommandoer til Redis, mens du er i pub-/undertilstand, skal du blot åbne en anden forbindelse.
Dit problem er også relateret til disse spørgsmål:
- Redis / Node.js - 2 klienter (1 pub/sub) forårsager problemer med skrivning
- Hvorfor kan jeg ikke have en enkelt Redis-klient, der fungerer som PUB og Sub i samme forbindelse?