Redis發布訂閱

2021-10-14 23:26:50 字數 2449 閱讀 8213

redis 發布訂閱 (pub/sub) 是一種訊息通訊模式:傳送者 (pub) 傳送訊息,訂閱者 (sub) 接收訊息。

訂閱給定的乙個或多個頻道的資訊。

subscribe channel [channel …]

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

publish channel message

#####--客戶端1

127.0.0.1:6379> subscribe daily #訂閱 daily 訊息

reading messages...

(press ctrl-c to quit)

1)"subscribe"

2)"daily"

3)(integer) 1

#####--客戶端2

127.0.0.1:6379> publish daily "redis publish is test"

# 發布 daily訊息

(integer) 1

#####--客戶端1將會收到-客戶端2 發布的最新 daily 訊息

127.0.0.1:6379> subscribe daily

reading messages...

(press ctrl-c to quit)

1)"subscribe"

2)"daily"

3)(integer) 1

1)"message"

2)"daily"

3)"redis publish is test"

訂閱乙個或多個符合給定模式的頻道。

psubscribe pattern [pattern …]

127.0.0.1:6379> psubscribe daily*

#匹配所有daily打頭的頻道

reading messages...

(press ctrl-c to quit)

1)"psubscribe"

2)"daily*"

3)(integer) 1

取消訂閱指定的頻道, 如果不指定頻道,則會取消訂閱所有頻道

unsubscribe [channel [channel …]]

127.0.0.1:6379> unsubscribe daily

1)"unsubscribe"

2)"daily"

3)(integer) 0

檢視訂閱與發布系統狀態。

pubsub subcommand [argument [argument …]]

#pubsub channels [pattern]

#列出當前的活躍頻道。

127.0.0.1:6379> pubsub channels # 列出所有

1)"daily"

2)"daily123"

3)"other"

127.0.0.1:6379> pubsub channels dail*

#列出指定規則的活躍頻道

1)"daily"

2)"daily123"

#pubsub numsub [channel-1 ... channel-n]¶

#返回給定頻道的訂閱者數量, 訂閱模式的客戶端不計算在內。

127.0.0.1:6379> pubsub numsub daily daily123

1)"daily"

2)(integer) 1

3)"daily123"

4)(integer) 1

#pubsub numpat 返回訂閱模式的數量。

# 這個命令返回的不是訂閱模式的客戶端的數量,而是客戶端訂閱的所有模式的數量總和。

127.0.0.1:6379> psubscribe dai*

#增加乙個訂閱模式

reading messages...

(press ctrl-c to quit)

1)"psubscribe"

2)"dai*"

3)(integer) 1

127.0.0.1:6379> pubsub numpat #獲取訂閱模式數量

(integer) 1

退訂指定的規則, 如果沒有引數則會退訂所有規則

punsubscribe [pattern [pattern …]]

127.0.0.1:6379> punsubscribe daily

1)"punsubscribe"

2)"daily"

3)(integer) 0

Redis 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 pu...

Redis 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 publish 傳送訊息,訂閱者 subscribe 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖是 頻道 channel1 以及訂閱這個頻道的三個客戶端 client1 client2和 client3 當有新訊息通過 ...

Redis發布訂閱

概述 redis發布訂閱 pub sub 是種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 訂閱訊息。redis客戶端可以訂閱任意數量的頻道。下圖展示了頻道channel以及訂閱它的三個客戶端 client2 client5和client1之間的關係 當有新的訊息publish到chann...