Redis教程09 發布和訂閱

2021-09-10 18:07:43 字數 1812 閱讀 4461

redis教程08(zset有序集合介紹)

redis教程07(set集合介紹)

redis教程06(list型別命令介紹)

redis教程05(hash型別命令介紹)

redis教程04(string型別之bit)

redis教程03(string介紹)

redis 發布訂閱(pub/sub)是一種訊息通訊模式:

傳送者(pub)傳送訊息

訂閱者(sub)接收訊息

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

客戶端訂閱訊息的命令如下

127.0.0.1:6379> subscribe c1 c2 c3

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

1) "subscribe"

2) "c1"

3) (integer) 1

1) "subscribe"

2) "c2"

3) (integer) 2

1) "subscribe"

2) "c3"

3) (integer) 3

傳送訊息如下命令:

127.0.0.1:6379> publish c1 "hello redis"

(integer) 1

127.0.0.1:6379> publish c2 'hehe'

(integer) 1

客戶端同時會接收到訊息:

127.0.0.1:6379> subscribe c1 c2 c3

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

1) "subscribe"

2) "c1"

3) (integer) 1

1) "subscribe"

2) "c2"

3) (integer) 2

1) "subscribe"

2) "c3"

3) (integer) 3

1) "message"

2) "c1"

3) "hello redis" #接收到c1傳送的訊息

1) "message"

2) "c2"

3) "hehe" #接收到c2傳送的訊息

客戶端在訂閱訊息的時候還可以通過模式匹配訂閱的方式訂閱,如下

127.0.0.1:6379> psubscribe c*

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

1) "subscribe"

2) "c*" #訂閱所有傳送則是c開頭的訊息

3) (integer) 1

傳送訊息,沒有區別

127.0.0.1:6379> publish c1 "hello redis"

(integer) 1

接收訊息

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) "c1"

4) "hello redis" #自動接收到c1傳送來的訊息

發布訂閱要注意網路連線斷開的話需要重新連線,此時就會有可能資料的丟失。這個需要注意~

redis 二 發布訂閱

參考資料 redis 4.x cookbook 中文版 redis官方文件 注 本文redis的版本為 5.0.3 注意,如果先發布訊息,然而頻道沒有訂閱者,這時的訊息會被丟失 redis的發布訂閱是乙個訊息推送的機制 發布者 publisher 向指定頻道 channel 發布訊息 message...

Redis七(發布訂閱)

redis 通過 publish subscribe 等命令實現了訂閱與發布模式,這個功能提供兩種資訊機制,分別是訂閱 發布到頻道和訂閱 發布到模式 訂閱者可以訂閱乙個或多個頻道,發布者向乙個頻道傳送訊息後,所有訂閱這個頻道的訂閱者都將收到訊息,而發布者也將收到乙個數值,這個數值是收到訊息的訂閱者的...

Redis學習 4 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。當有新訊息通過 publish 命令傳送給頻道 channel1 時,這個訊息就會被傳送給訂閱它的三個客戶端 訂閱乙個或多個符合給定模式的頻道。pu...