redis學習(三) 訂閱與發布

2021-10-19 12:42:26 字數 1371 閱讀 2437

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

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

1.開啟兩個或兩個以上的客戶端

2.建立訂閱頻道

客戶端a

127.0.0.1:6379> subscribe runoobchat

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

1) "subscribe"

2) "runoobchat"

3) (integer) 1

3.在runoobchat頻道發布訊息

客戶端b

127.0.0.1:6379> publish runoobchat "redis publish test"

(integer) 2 # 因為我有兩個客戶端訂閱了該頻道,所以是2,這個訂閱該頻道的客戶端的數量

127.0.0.1:6379> publish runoobchat "redis publish aaa"

(integer) 2

4.訂閱該頻道的客戶端展示的資訊

客戶端a

127.0.0.1:6379> subscribe runoobchat

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

1) "subscribe"

2) "runoobchat"

3) (integer) 1

1) "message"

2) "runoobchat"

3) "redis publish test"

1) "message"

2) "runoobchat"

3) "redis publish aaa"

序號

命令及描述

1psubscribe pattern [pattern ...]

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

2pubsub subcommand [argument [argument ...]]

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

3publish channel message

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

4punsubscribe [pattern [pattern ...]]

退訂所有給定模式的頻道。 (訂閱模式情況下毛素沒辦法取消,有大佬知道的煩請告知)

5subscribe channel [channel ...]

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

6unsubscribe [channel [channel ...]]

指退訂給定的頻道。

Redis 發布與訂閱

redis 自從2.0版本後,增加發布與訂閱等新特性,該功能有點類似設計模式中的觀察者模式,對訊息的生產者與接收者進行松耦合。也可以用該特性實現系統與系統之間的訊息傳遞,該功能的 的實現非常實用和高效。下面我們介紹一下,如何使用發布與訂閱 redis提供發布與訂閱幾個命令 subscribe cha...

redis發布與訂閱

redis在2.8.0版本之後出了乙個新功能,叫pub sub,也叫 發布與訂閱 在這篇文章中不僅要介紹它是如何用的,更重要的是要介紹它的應用場景。在之前介紹websocket之用tubesock在rails實現聊天室 五 的時候,就用redis的pub sub實現過聊天室。相關的 是這樣的 red...

Redis發布與訂閱

訂閱 發布訊息圖 第乙個 訊息傳送者,第二個 頻道 第三個 訊息訂閱者!下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 publish 命令傳送給頻道 channel1 時,這個訊息就會被傳送給訂閱它的三...