Nếu bạn đang sử dụng chức năng redis pub / sub trong chương trình node.js của mình, bạn nên dành một kết nối máy khách redis để nghe trên một số kênh và kết nối máy khách redis thứ hai để gửi các lệnh bình thường và / hoặc xuất bản tin nhắn tới (các) kênh của bạn. Từ tài liệu node_redis:
Khi khách hàng phát hành SUBSCRIBE hoặc PSUBSCRIBE, kết nối đó được đặt ở chế độ "pub / sub". Tại thời điểm đó, chỉ các lệnh sửa đổi nhóm đăng ký mới hợp lệ. Khi bộ đăng ký trống, kết nối sẽ được đưa trở lại chế độ bình thường.
Nếu bạn cần gửi các lệnh thông thường tới Redis khi ở chế độ pub / sub, chỉ cần mở một kết nối khác.
Vấn đề của bạn cũng liên quan đến những câu hỏi sau:
- Redis / Node.js - 2 khách hàng (1 pub / sub) gây ra sự cố ghi
- Tại sao tôi không thể có một khách hàng Redis duy nhất hoạt động như PUB và Sub trong cùng một kết nối?