Jika Anda menggunakan fungsionalitas redis pub/sub dalam program node.js Anda, Anda harus mendedikasikan satu koneksi klien redis untuk mendengarkan di beberapa saluran dan koneksi klien redis kedua untuk mengirim perintah normal dan/atau memublikasikan pesan ke saluran Anda. Dari dokumen node_redis:
Ketika klien mengeluarkan SUBSCRIBE atau PSUBSCRIBE, koneksi itu dimasukkan ke mode "pub/sub". Pada saat itu, hanya perintah yang mengubah set langganan yang valid. Saat set langganan kosong, koneksi dikembalikan ke mode biasa.
Jika Anda perlu mengirim perintah biasa ke Redis saat dalam mode pub/sub, cukup buka koneksi lain.
Masalah Anda juga terkait dengan pertanyaan berikut:
- Redis / Node.js - 2 klien (1 pub/sub) menyebabkan masalah dengan penulisan
- Mengapa saya tidak dapat memiliki satu klien Redis yang bertindak sebagai PUB dan Sub dalam koneksi yang sama?