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:
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.