Redis
 sql >> база данни >  >> NoSQL >> Redis

Публикуване на абониране с nodejs и redis(node_redis)

Не знам какъв е вашият дизайн, но можете да се абонирате с един клиент на redis на множество канали (след като се абонирате с клиент, тогава можете да се абонирате само за друг канал или да се отпишете в рамките на тази връзка:http://redis.io/commands /абонирайте се), защото след като получите съобщение, имате пълна информация от кой канал идва това съобщение. След това можете да разпространите това съобщение до всички заинтересовани клиенти.

Това малко ми помогна, защото можех да поставя тип съобщение в името на канала и след това динамично да избирам действие за всяко съобщение от малка функция, вместо да генерирам отделен абонамент за всеки канал с отделна логика.

Вътре в моя сървър node.js имам само 2 Redis клиента:

  1. прост клиент за всички стандартни действия - lpush , sadd и така нататък
  2. абонаментен клиент – който изслушва съобщения през абонирани канали, след което тези съобщения се разпространяват до всички сесии (съхранени като набори за всеки тип канал) с помощта на първия клиент на redis.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. spring-boot redis :Как да анулирате всички сесии на потребител?

  2. Персонализираната среда на Rails Resque.enqueue не създава работни места

  3. Spring Redis - Прочетете конфигурацията от файла application.properties

  4. Redis - някакъв начин за задействане на събитие, когато стойността вече не се записва активно?

  5. Как мога да проверя дали моят Redis кеш работи?