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發佈訂閱相關的一些基本命令。
序號 | 命令 | 說明 |
---|---|---|
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 …]] | 退訂給定的頻道。 |