Redis傳送訂閱


Redis發佈訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。
Redis 發布訂閱(pub/sub)實現了訊息系統,傳送者(在redis術語中稱為發布者)在接收者(訂閱者)接收訊息時傳送訊息。傳送訊息的鏈路稱為通道。

在Redis中,用戶端可以訂閱任意數量的通道。

範例

以下範例說明了發布使用者概念的工作原理。 在以下範例中,一個用戶端訂閱名為「redisChat」的通道。

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

現在,兩個用戶端在名稱為「redisChat」的相同通道上發布訊息,並且上述訂閱的用戶端接收訊息。

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 yiibai"  
(integer) 1   
1) "message" 
2) "redisChat" 
3) "Redis is a great caching technique" 
1) "message" 
2) "redisChat" 
3) "Learn redis by yiibai"

Redis發佈訂閱命令

下表列出了與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 …]] 退訂給定的頻道。