redis發布訂閱c介面 Redis發布訂閱

2021-10-13 14:10:56 字數 1049 閱讀 2159

適用場景

直播訊息

彈幕訊息

粉絲訂閱訊息推送

知識點1、關鍵字:publish subscribe psubscribe

redis採用publish命令傳送訊息,其返回值為接收到該訊息的訂閱者的數量。

redis採用subscribe命令訂閱某個頻道,其返回值包括客戶端訂閱的頻道,目前已訂閱的頻道數量,以及接收到的訊息,其中subscribe表示已經成功訂閱了某個頻道。

2、示例:

redis 127.0.0.1:6379> publish c1 "test"

(integer) 0

redis 127.0.0.1:6379> publish c2 "test"

(integer) 0

redis 127.0.0.1:6379> subscribe c1

reading messages... (press ctrl-c to quit)

1) "subscribe"

2) "c1"

3) (integer) 1

1) "message"

2) "c1"

3) "test"

redis的訂閱操作是阻塞式的,因此一旦客戶端訂閱了某個頻道或模式,就將會一直處於訂閱狀態直到退出。

3、支援模式匹配

客戶端可以使用命令psubscribe一次性訂閱符合模式匹配的多個頻道,例如:

redis 127.0.0.1:6379> psubscribe c*

reading messages... (press ctrl-c to quit)

1) "psubscribe"

2) "c*"

3) (integer) 1

1) "pmessage"

2) "c*"

3) "c2"

4) "test2"

c* 表示任意c開頭的頻道。

4、注意:

訂閱方可以提前預定,即使頻道不存在。

訂閱方只能收到訂閱之後的訊息,訂閱之前的訊息收不到。

參考

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...