Jak wysyłać i odbierać wiadomości z Redis Pubsub

Jak wysyłać i odbierać wiadomości z Redis Pubsub
Chociaż Redis jest znany jako baza danych i mechanizm buforowania, zapewnia model wydawcy-subscriber. Korzystając z pub-sub, dowolna liczba użytkowników może subskrybować kanały i odbierać wiadomości wysyłane do tych kanałów przez wydawców.

Zobaczmy, jak zaimplementować model Redis Pub-Sub w tym artykule. Dla różnorodności nie będziemy zdecydować się na żaden język programowania. Zamiast tego użyjemy poleceń Raw Redis, aby to osiągnąć.

Jak działa pub-sub

Model pub-sub jest dość prosty. Zaczynamy od utworzenia kanału, do którego użytkownik może subskrybować.

Gdy użytkownik subskrybuje kanał, nie może wysłać żadnych poleceń na serwer. Jednak twórca kanału (wydawca) może wysyłać polecenia i publikować wiadomości na serwerze.

Należy pamiętać, że jeden użytkownik może jednocześnie subskrybować wiele kanałów.

Subskrybowanie kanału

Aby zaimplementować pub-sub, otwórz terminal i zaloguj się do Redis CLI. Możemy teraz zasubskrybować kanał za pomocą komendy subskrybowania i nazwy kanałów do subskrypcji.

Przykład:

Subskrybuj Chat_Room_1 Chat_Room_2

Powyższe polecenie powinno zasubskrybować kanały o nazwie Chat_Room_1 i Chat_Room_2.

W tym momencie użytkownik może odczytać każdą wiadomość publikowaną na tych kanałach.

Publikowanie wiadomości

Następnie otwórz nowe okno terminalu i połącz się z serwerem Redis. Po połączeniu możemy publikować wiadomości do kanałów jako:

127.0.0.1: 6379> Publikuj Chat_Room_1 „Cześć wszystkim, witaj na czacie 1”
(liczba całkowita) 1

Powyższe polecenie powinno opublikować wiadomość do kanału pierwszego, w którym subskrybenci mogą ją otrzymać.

Przejdź do sesji terminali subskrybenta, aby to sprawdzić.

Wiadomość otrzymana w oknie subskrybenta składa się z trzech głównych komponentów:

  1. Zauważ, który wskazuje wiadomość.
  2. Kanał, do którego przesłano wiadomość.
  3. Treść wiadomości.

Uwaga: Publikowanie wiadomości do kanału, który nie istnieje (co oznacza, że ​​nie ma subskrybentów) zmusza Redis do odrzucenia wiadomości i zwrócenia 0.

Przykład:

127.0.0.1: 6379> Publikuj Nochannel Nomessage
(liczba całkowita) 0

Wniosek

W tym artykule obejmuje sposób korzystania z modelu Redis Pub-Sub za pomocą prostego samouczka. Korzystając z poleceń RAW REDIS i powstrzymując się od języka programowania, czytelnicy powinni być w stanie wysyłać i odbierać wiadomości z Redis Pub-Sub na końcu tego artykułu.