Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Publikasikan berlangganan dengan nodejs dan redis(node_redis)

Saya tidak tahu apa desain Anda, tetapi Anda dapat berlangganan dengan satu klien redis di beberapa saluran (setelah Anda berlangganan dengan klien, maka Anda hanya dapat berlangganan saluran lain atau berhenti berlangganan dalam hubungan ini:http://redis.io/commands /berlangganan), karena setelah Anda menerima pesan, Anda memiliki informasi lengkap dari saluran mana pesan ini berasal. Kemudian Anda dapat mendistribusikan pesan ini ke semua klien yang tertarik.

Ini sedikit membantu saya, karena saya dapat menempatkan jenis pesan dalam nama saluran dan kemudian secara dinamis memilih tindakan untuk setiap pesan dari fungsi kecil, daripada membuat langganan terpisah untuk setiap saluran dengan logika terpisah.

Di dalam server node.js saya, saya hanya memiliki 2 klien redis:

  1. klien sederhana untuk semua tindakan standar - lpush , sadd dan seterusnya
  2. klien langganan - yang mendengarkan pesan melalui saluran langganan, kemudian pesan ini didistribusikan ke semua sesi (disimpan sebagai set untuk setiap jenis saluran) menggunakan klien redis pertama.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sambungan WebSocket ke <URL> gagal:Kesalahan selama jabat tangan WebSocket:Kode respons tak terduga:521

  2. Skor unik untuk papan peringkat redis

  3. Mengapa ada array KUNCI dan ARGV saat memanggil skrip Redis Lua?

  4. Memahami caching Laravel:Fasad cache dan Redis

  5. spring-redis tidak dapat terhubung ke host jarak jauh