sql >> Databáze >  >> NoSQL >> Redis

Redis, bude téma (pub/sub) vždy doručeno alespoň jednomu předplatiteli?

Pub/Sub je synchronní komunikace. Všechny strany musí být aktivní zároveň, aby mohly komunikovat. Zde je Redis čistě synchronní zprostředkovatel zpráv.

Odpověď na vaše první tři otázky je ne. Neexistuje žádná perzistence zpráv, ani na disku, ani v paměti. Když je zpráva publikována, je odeslána na klientská připojení, která jsou v tuto chvíli přihlášena. Příkaz PUBLISH okamžitě vrátí počet klientů, kteří přijali zprávu:O(N+M) kde N je počet klientů přihlášených k přijímacímu kanálu a M je celkový počet odebraných vzorů (jakýmkoli klientem).

... ale všiml jsem si, že když budu vypnutý a znovu se připojím, mohu si nechat témata doručit, až se vrátím online

R/ Myslím, že záleží na tom, co máte na mysli slovem „Jsem dole ". Zpráva musí být uložena do mezipaměti někde ve vašem klientovi. Nebo možná bylo připojení klienta na serveru Redis stále aktivní a zpráva byla ve výstupní vyrovnávací paměti klienta.

Tyto zdroje mohou být užitečné:

Jaké jsou hlavní rozdíly mezi Redis Pub/Sub a Redis Stream?

Pub/Sub




  1. MongoDB:najděte hodnotu v poli s více kritérii

  2. Jak nastavit/získat pandas.DataFrame do/z Redis?

  3. Mongodump ze vzdáleného serveru

  4. jak dotazovat podřízené objekty v mongodb