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

Redis, czy temat (pub/sub) będzie zawsze dostarczany przynajmniej jednemu subskrybentowi?

Pub/Sub to komunikacja synchroniczna. Wszystkie strony muszą być aktywne w tym samym czasie, aby móc się komunikować. Tutaj Redis jest wyłącznie brokerem synchronicznych wiadomości.

Odpowiedź na twoje pierwsze trzy pytania brzmi:nie. Komunikaty nie są trwałe, ani na dysku, ani w pamięci. Gdy wiadomość jest publikowana, jest wysyłana do połączeń klientów subskrybowanych w danej chwili. Polecenie OPUBLIKUJ natychmiast zwróci liczbę klientów, którzy otrzymali wiadomość:O(N+M) gdzie N to liczba klientów zasubskrybowanych do kanału odbiorczego, a M to całkowita liczba subskrybowanych wzorców (przez dowolnego klienta).

... ale zauważam, że jeśli nie będę miał dostępu do Internetu i ponownie się połączę, tematy zostaną dostarczone, gdy wrócę do trybu online

R/ Myślę, że to zależy od tego, co masz na myśli mówiąc „Jestem przybity ”. Wiadomość musi być zapisana w pamięci podręcznej gdzieś w twoim kliencie. A może połączenie klienta w Redis Server było nadal aktywne, a wiadomość znajdowała się w buforze wyjściowym klienta.

Te zasoby mogą okazać się przydatne:

Jakie są główne różnice między Redis Pub/Sub a Redis Stream?

Pub/Sub




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wyłącz przezroczyste duże strony z Kubernetes

  2. Czy pamięć podręczna Redis w .NET Core 3 wymaga użycia pakietu Stack Exchange?

  3. Skanowanie klienta ruby ​​redis vs klucze

  4. Polecenie Redis, aby uzyskać wszystkie dostępne klucze?

  5. Ogranicz długość listy w redis