redis知識之發布訂閱

2021-10-25 16:14:30 字數 2046 閱讀 2177

三、總結

redis發布與訂閱是一種訊息通訊模式,傳送者publisher傳送訊息,訂閱者subscriber接受訊息,一旦發布者將訊息發布到了某個頻道,那麼訂閱這個頻道的訂閱者就都可以收到訊息了,這跟rabbitmq訊息佇列是一樣的原理。

這裡是使用本地虛擬機器開啟linux伺服器的。

通過xshell連線伺服器,開啟了redis服務,並建立了兩個客戶端,至此環境已經搭建好了

#乙個客戶端發布了通過mychannel發布了訊息如下所示。

[root@localhost bin]

# redis-cli -p 6379

127.0.0.1:6379> publish mychannel hellohaihui~hardworking

(integer) 0

127.0.0.1:6379> publish mychannel hellohaihui

(integer) 0

127.0.0.1:6379> publish mychannel "hellohaihui"

(integer) 1

127.0.0.1:6379> publish mychannel "you should hard working"

(integer) 1

127.0.0.1:6379> publish mychannel 123456

(integer) 1

127.0.0.1:6379>

#另乙個客戶端開啟之後,先訂閱mychannel頻道,然後就可以實時監聽訊息了

[root@localhost bin]

# redis-cli -p 6379

127.0.0.1:6379> subscribe mychannel

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

1)"subscribe"

2)"mychannel"

3)(integer) 1

#觀察規律會發現,三個一組

1)"message"

2)"mychannel"

3)"hellohaihui"

#觀察規律會發現,三個一組

1)"message"

2)"mychannel"

3)"you should hard working"

#觀察規律會發現,三個一組

1)"message"

2)"mychannel"

3)"123456"

#其他命令

127.0.0.1:6379> unsubscribe mychannel #退訂頻道

1)"unsubscribe"

2)"mychannel"

3)(integer) 0

127.0.0.1:6379> pubsub channels #檢視所有的訂閱的頻道

1)"mychannel"

127.0.0.1:6379>

序號

命令及描述

1[psubscribe pattern pattern …] 訂閱乙個或多個符合給定模式的頻道。

2[pubsub subcommand argument [argument …]] 檢視訂閱與發布系統狀態。

3publish channel message 將資訊傳送到指定的頻道。

4[punsubscribe pattern [pattern …]] 退訂所有給定模式的頻道。

5[subscribe channel channel …] 訂閱給定的乙個或多個頻道的資訊。

6[unsubscribe channel [channel …]] 指退訂給定的頻道。

至此,發布訂閱講解完畢!

Redis之發布 訂閱機制

相關命令 publish 發布 subscribe 訂閱 psubscribe 一種訂閱符合給定模式的所有頻道的方法 unsubscribe 退訂 punsubscribe 退訂乙個訂閱的模式這些命令被廣泛用於構建即時通訊應用,比如網路聊天室 chatroom 和實時廣播 實時提醒等。redis相關...

redis之訊息訂閱發布

傳送訊息到指定的channel通道 subscribe 訂閱乙個或者多個通道 unsubscribe 取消訂閱指定的通道 psubscribe 訂閱乙個或多個符合給定模式的通道 punsubscribe 取消訂閱乙個或多個符合給定模式的通道 pubsub 檢視訂閱發布的狀態 下面通過一些簡答的示例說...

Redis之發布與訂閱

redis的發布訂閱功能由pubish,subscribe,psubscribe命令組成。通過執行subscribe命令,客戶端可以訂閱乙個或者多個頻道,從而成為這些頻道的訂閱者 subscriber 每當有其他客戶端向被訂的頻道傳送訊息時,頻道的所有訂閱者都會收到這條訊息。除了訂閱頻道之外,客戶端...