Latest web development tutorials

Redis veröffentlichen und abonnieren

Redis Publish-Subscribe (pub / sub) ist ein Messaging-Modus: Der Absender (pub) eine Nachricht, Abonnenten (sub) zum Senden von Nachrichten empfangen.

Redis Client kann auf eine beliebige Anzahl von Kanälen abonnieren.

Die folgende Abbildung zeigt den Kanal channel1, und abonnieren Sie den Kanal drei Kunden - die Beziehung client2, client5 und zwischen client1:

pubsub1

Wenn eine neue Nachricht an den Kanal von channel1 Befehl PUBLIZIEREN gesendet wird, wird diese Nachricht an seine drei Clients abonnieren gesendet:

pubsub2

Beispiele

Das folgende Beispiel zeigt, wie das funktioniert veröffentlichen und abonnieren. In unserem Beispiel haben wir ein Abonnement - Kanal namensredisChat erstellt:

redis 127.0.0.1:6379> SUBSCRIBE redisChat

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

Nun lassen Sie uns einen redis Client wieder zu öffnen, und dann veröffentlichen redisChat Nachricht zweimal im gleichen Kanal, können Abonnenten die Nachricht zu empfangen.

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 veröffentlichen und Befehl abonnieren

Die folgende Tabelle listet die redis häufig verwendete Befehle abonnieren veröffentlichen:

Nein. Befehl und Beschreibung
1 PSUBSCRIBE Muster [Muster ...]
Melden Sie sich an einem oder mehreren auf ein bestimmtes Muster von Kanälen entsprechen.
2 PubSub subcommand [Argument [Argument ...] ]
Ansicht Abonnement und Publishing-System-Status.
3 PUBLISH - Kanal - Nachricht
Die Information wird auf den angegebenen Kanal gesendet.
4 PUNSUBSCRIBE [pattern [Muster ...]]
Abmelden von allen Kanälen vorgegebenen Muster.
5 ABONNIEREN Kanal [Kanal ...]
Melden Sie sich an den Angaben zu einem oder mehreren Kanälen.
6 ABBESTELLEN [Kanal [Kanal ...]]
Er bezieht sich aus einem bestimmten Kanal abmelden.