Redis的釋出訂閱

翔之天空發表於2016-10-30


Redis 釋出訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。

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

下圖展示了頻道 channel1 ,以及訂閱這個頻道的三個客戶端 —— client2 、 client5 和 client1 之間的關係:


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


 

本次演示釋出訂閱的基本操作

第一個客戶端開啟訊息訂閱
127.0.0.1:6379> subscribe redisChat
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1


開啟第二個客戶端,在redisChat釋出資訊
[root@localhost src]# ./redis-cli
127.0.0.1:6379> publish redisChat "first message"
(integer) 1

127.0.0.1:6379> publish redisChat "hhhhhh"
(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) "first message"
1) "message"
2) "redisChat"
3) "hhhhhh"

 

Redis釋出訂閱命令

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

PUBSUB subcommand [argument [argument ...]]檢視訂閱與釋出系統狀態。

PUBLISH channel message 將資訊傳送到指定的頻道。

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

SUBSCRIBE channel [channel ...] 訂閱給定的一個或多個頻道的資訊。

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

相關文章