redis 發布訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。
redis 客戶端可以訂閱任意數量的頻道。
下圖展示了頻道 channel1 , 以及訂閱這個頻道的三個客戶端 —— client2 、 client5 和 client1 之間的關係:
當有新訊息通過 publish 命令傳送給頻道 channel1 時, 這個訊息就會被傳送給訂閱它的三個客戶端:
例如:
以下例項演示了發布訂閱是如何工作的。在我們例項中我們建立了訂閱頻道名為 redischat:
redis 127.0
.0.1:6379
> subscribe redischat
reading messages... (press ctrl-c
to quit)
1) "subscribe"
2) "redischat"
3) (integer) 1
現在,我們先重新開啟個 redis 客戶端,然後在同乙個頻道 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 w3cschool.cc"
(integer) 1
# 訂閱者的客戶端會顯示如下訊息
1) "message"
2) "redischat"
3) "redis is a great caching technique"
1) "message"
2) "redischat"
3) "learn redis by w3cschool.cc"
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 ...]] 指退訂給定的頻道。
一、redis psubscribe 命令 - 訂閱乙個或多個符合給定模式的頻道。
每個模式以 * 作為匹配符,比如 it* 匹配所有以 it 開頭的頻道( it.news 、 it.blog 、 it.tweets 等等)。 news.* 匹配所有以 news. 開頭的頻道( news.it 、 news.global.today 等等),諸如此類。
語法 redis psubscribe 命令基本語法如下:
redis 127.0
.0.1:6379> psubscribe pattern [pattern ...]
可用版本:>=2.0.0
返回值
接收到的資訊。
例如
127.0
.0.1:6379
> psubscribe redischat
reading messages... (press ctrl-c
to quit)
1) "psubscribe"
2) "redischat"
3) (integer) 1
二、redis pubsub 命令用於檢視訂閱與發布系統狀態,它由數個不同格式的子命令組成
語法 redis pubsub 命令基本語法如下:
redis 127.0
.0.1:6379> pubsub [argument [argument ...]]
可用版本:>= 2.8.0
返回值由活躍頻道組成的列表。
例如:
127.0
.0.1
:6379> pubsub
channels
1) "redischat"
127.0
.0.1
:6379>
其餘幾個命令比較簡單,不一一枚舉。 Redis命令 發布訂閱
redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 pu...
Redis 發布與訂閱 命令
該筆記記錄redis 發布與訂閱的命令。1.publish 可用版本 2.0.0 時間複雜度 o n m 其中 n 是頻道 channel 的訂閱者數量,而 m 則是使用模式訂閱 subscribed patterns 的客戶端的數量。命令格式 publish channel message 作用 ...
Redis 命令(八) 之 Redis 發布訂閱
redis 發布訂閱 pub sub 是一種訊息通訊模式 發送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 pu...