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:
Wenn eine neue Nachricht an den Kanal von channel1 Befehl PUBLIZIEREN gesendet wird, wird diese Nachricht an seine drei Clients abonnieren gesendet:
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. |