Come inviare e ricevere messaggi con Redis Pubsub

Come inviare e ricevere messaggi con Redis Pubsub
Sebbene Redis sia famoso come meccanismo di database e memorizzazione nella cache, fornisce un modello di sottoscrittore editore. Utilizzando pub-sub, qualsiasi numero di utenti può iscriversi ai canali e ricevere messaggi inviati a tali canali dagli editori.

Vediamo come implementare il modello Redis Pub-Sub in questo articolo. Per la diversità, non opteremo per nessun linguaggio di programmazione. Invece, useremo i comandi RAW Redis per raggiungere questo obiettivo.

Come funziona pub-sub

Il modello pub-sub è piuttosto semplice. Iniziamo creando un canale a cui un utente può iscriverti.

Una volta che un utente si abbona a un canale, non può inviare comandi al server. Tuttavia, il creatore del canale (editore) può inviare comandi e pubblicare messaggi al server.

Tieni presente che un singolo utente può iscriverti a più canali contemporaneamente.

Abbonarsi a un canale

Per implementare pub-sub, aprire il terminale e accedere alla CLI Redis. Ora possiamo iscriverci a un canale utilizzando il comando sottoscrivere e il nome dei canali per iscriverti.

Esempio:

Iscriviti a chat_room_1 chat_room_2

Il comando sopra dovrebbe iscriverti ai canali chiamati chat_room_1 e chat_room_2.

A questo punto, l'utente può leggere qualsiasi messaggio pubblicato su questi canali.

Messaggi di pubblicazione

Quindi, apri una nuova finestra del terminale e connettiti al server Redis. Una volta connessi, possiamo pubblicare messaggi sui canali come:

127.0.0.1: 6379> Pubblica chat_room_1 "Ciao a tutti, benvenuti alla chat room 1"
(intero) 1

Il comando sopra dovrebbe pubblicare il messaggio a canalizzare uno, in cui gli abbonati possono riceverlo.

Vai alla sessione del terminale degli abbonati per verificarla.

Il messaggio ricevuto nella finestra degli abbonati è composto da tre componenti principali:

  1. Notare che indica il messaggio.
  2. Il canale a cui è stato inviato il messaggio.
  3. Il contenuto del messaggio.

Nota: pubblicare un messaggio su un canale che non esiste (che significa che non esistono abbonati) forze Redis a scartare il messaggio e restituire 0.

Esempio:

127.0.0.1: 6379> Pubblica Nomesmenage Nochannel
(intero) 0

Conclusione

Questo articolo copre come utilizzare il modello Redis Pub-Sub attraverso un semplice tutorial. Utilizzando i comandi RAW Redis e astenendosi dal linguaggio di programmazione, i lettori dovrebbero essere in grado di inviare e ricevere messaggi con Redis Pub-Sub alla fine di questo articolo.