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

Redis, винаги ли една тема (пъб/суб) ще се доставя на поне един абонат?

Pub/Sub е синхронна комуникация. Всички страни трябва да бъдат активни едновременно, за да могат да комуникират. Тук Redis е чист брокер за синхронни съобщения.

Отговорът на първите ви три въпроса е не. Няма постоянство на съобщенията, нито на диска, нито в паметта. Когато съобщението е публикувано, то се изпраща до абонираните в момента клиентски връзки. Командата PUBLISH ще върне незабавно броя клиенти, получили съобщението:O(N+M), където N е броят на клиентите, абонирани за приемащия канал, а M е общият брой абонирани модели (от всеки клиент).

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

R/ Предполагам, че зависи от това какво имаш предвид с „Спаднах ". Съобщението трябва да е кеширано някъде във вашия клиент. Или може би клиентската връзка в Redis Server все още е била жива и съобщението е било там в клиентския изходен буфер.

Може да намерите тези ресурси за полезни:

Какви са основните разлики между Redis Pub/Sub и Redis Stream?

Pub/Sub




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как мога да внедря тази единична разпределена опашка с паралелност във всяка MQ платформа?

  2. изпрати съобщение надолу по веригата до google ccs с node js

  3. Как да запазите и извлечете низ с акценти в redis?

  4. конфигурирайте redis auth на sidekiq

  5. Промяна на разрешението за файл по подразбиране при redis dump