Latest web development tutorials

Redis pubblicare e sottoscrivere

Redis publish-subscribe (pub / sub) è una modalità di messaggistica: il mittente (pub) di inviare un messaggio, gli abbonati (sub) ricevere messaggi.

Redis cliente può iscriversi a qualsiasi numero di canali.

La figura seguente mostra il canale 1 canale e iscriviti al canale tre clienti - il rapporto CLIENT2 client5 e tra client1:

pubsub1

Quando un nuovo messaggio viene inviato al canale da channel1 comando PUBBLICA, questo messaggio verrà inviato a sottoscrivere ai propri clienti tre:

pubsub2

Esempi

L'esempio seguente mostra come funziona pubblicare e sottoscrivere. Nel nostro esempio abbiamo creato un canale abbonamenti chiamatoredisChat:

redis 127.0.0.1:6379> SUBSCRIBE redisChat

Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1

Ora, cerchiamo di riaprire un client Redis, e quindi pubblicare redisChat messaggio due volte nello stesso canale, gli abbonati saranno in grado di ricevere il messaggio.

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"

(integer) 1

redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by w3big.com"

(integer) 1

# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by w3big.com"

Redis pubblicare e sottoscrivere il comando

La seguente tabella elenca le Redis Pubblica Sottoscrivi comandi di uso comune:

No. Comando e descrizione
1 modello PSUBSCRIBE [modello ...]
Abbonati ad uno o più corrispondenti un dato modello di canali.
2 PubSub sottocomando [argomento [argomento ...] ]
Vedi sottoscrizione e lo stato del sistema di pubblicazione.
3 PUBBLICA Message Channel
Le informazioni vengono inviate al canale specificato.
4 PUNSUBSCRIBE [modello [modello ...]]
Cancellati da tutti i canali determinato modello.
5 ISCRIVITI canale [Canale ...]
Iscriviti alle informazioni fornite da uno o più canali.
6 UNSUBSCRIBE [canale [Canale ...]]
Si riferisce ad annullare l'iscrizione a un determinato canale.