Redis 發佈訂閱

Redis 發佈訂閱(pub/sub)是一種消息通信模式:發送者(publish)發送消息,訂閱者(subscribe)接收消息。


Redis 客戶端可以訂閱任意數量的頻道。

下圖是:頻道 channel1 , 以及訂閱這個頻道的三個客戶端 —— client1、 client2和 client3:


當有新消息通過 publish命令發送給頻道 channel1 時, 這個消息就會被髮送給訂閱它的三個客戶端:


實例:

以下實例演示了發佈/訂閱是如何工作的。在我們的實例中我們創建了訂閱頻道redisChat:

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


然後重新開啓個 redis 客戶端,在同一個頻道 redisChat 發佈消息,看看訂閱者是否能接收到消息。

127.0.0.1:6379> publish redisChat "Redis is a great caching technique"
(integer) 1

127.0.0.1:6379> publish redisChat "Learn redis by polaris.com"
(integer) 1


最後去訂閱者的客戶端查看消息

127.0.0.1:6379> subscribe redisChat
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by polaris.com"


Redis 發佈訂閱命令

1、PSUBSCRIBE pattern [pattern ...]            訂閱一個或多個符合給定模式的頻道。

2、PUBSUB subcommand [argument [argument ...]]               查看訂閱與發佈系統狀態。

3、PUBLISH channel message                   將信息發送到指定的頻道。

4、PUNSUBSCRIBE [pattern [pattern ...]]               退訂所有給定模式的頻道。

5、SUBSCRIBE channel [channel ...]                      訂閱給定的一個或多個頻道的信息。

6、UNSUBSCRIBE [channel [channel ...]]               指退訂給定的頻道。


發佈了79 篇原創文章 · 獲贊 19 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章