Redis發布訂閱

2022-02-18 21:13:35 字數 1047 閱讀 2626

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

redis客戶端可以訂閱任意數量的頻道

通過subscribe命令訂閱某頻道後,redis-server裡維護了乙個字典,字典的鍵就是乙個個頻道,而字典的值則是乙個鍊錶,鍊錶中儲存了所有訂閱這個channel的客戶端。subscribe命令的關鍵,就是將客戶端新增到給定的channel的訂閱鍊錶中。

通過publish命令向訂閱者傳送訊息,redis-server會是使用給定的頻道作為鍵,在他所維護的channel字典中查詢記錄了訂閱這個頻道的所有客戶端的鍊錶,遍歷這個鍊錶,將訊息發布給所有訂閱者。

pub/sub從字面上理解就是發布與訂閱,在redis中,可以設定對某乙個key值進行訊息發布及訊息訂閱,當乙個key值上進行了訊息發布後,所有訂閱他的客戶端都會受到相應的訊息。

使用場景:

訂閱端

1

127.0.0.1:6379>subscribe zqzhen

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

31) "

subscribe"4

2) "

zqzhen"5

3) (integer) 1

61) "

message"7

2) "

zqzhen"8

3) "

hello,zqz

"

傳送端

1

127.0.0.1:6379>publish zqzhen hello,zqz

2 (integer) 1

常見命令

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