Ако използвате redis pub/sub функционалност във вашата програма node.js, трябва да отделите една клиентска връзка на redis за слушане на някакъв канал и втора клиентска връзка на redis за изпращане на нормални команди и/или публикуване на съобщения до вашия канал(и). От документи на node_redis:
Когато клиент издаде SUBSCRIBE или PSUBSCRIBE, тази връзка се поставя в режим "pub/sub". В този момент са валидни само команди, които променят набора от абонаменти. Когато абонаментният набор е празен, връзката се връща в нормален режим.
Ако трябва да изпращате редовни команди до Redis, докато сте в pub/sub режим, просто отворете друга връзка.
Вашият проблем също е свързан със следните въпроси:
- Redis/Node.js – 2 клиента (1 pub/sub), причиняващи проблеми с записванията
- Защо не мога да имам един клиент Redis, който да действа като PUB и Sub в една и съща връзка?