Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Publikuj subskrybuj za pomocą nodejs i redis(node_redis)

Nie wiem, jaki masz projekt, ale możesz subskrybować jednym klientem redis na wielu kanałach (po subskrybowaniu z klientem możesz tylko subskrybować inny kanał lub zrezygnować z subskrypcji w ramach tego połączenia:http://redis.io/commands /subskrybuj), ponieważ po otrzymaniu wiadomości masz pełną informację z jakiego kanału pochodzi ta wiadomość. Następnie możesz przekazać tę wiadomość wszystkim zainteresowanym klientom.

Trochę mi to pomogło, ponieważ mogłem umieścić typ wiadomości w nazwie kanału, a następnie dynamicznie wybrać akcję dla każdej wiadomości z małej funkcji, zamiast generować osobną subskrypcję dla każdego kanału z odrębną logiką.

Wewnątrz mojego serwera node.js mam tylko 2 klientów redis:

  1. prosty klient do wszystkich standardowych działań - lpush , sadd i tak dalej
  2. Klient subskrypcji - który nasłuchuje wiadomości na subskrybowanych kanałach, a następnie wiadomości te są dystrybuowane do wszystkich sesji (przechowywane jako zestawy dla każdego typu kanału) przy użyciu pierwszego klienta redis.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wydać polecenie HGET/GET dla bazy danych Redis za pośrednictwem Node.js?

  2. Stan sesji z usługą Azure Redis Cache nie działa w wielu instancjach

  3. jak przechowywać Json w redis za pomocą hashmap ( HSET )

  4. Błąd 99 podczas łączenia z hostem lokalnym:6379. Nie można przypisać żądanego adresu

  5. „sesja” jest niezdefiniowana w przypadku używania express / redis do przechowywania sesji