av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

RedisPubSub發(fā)布訂閱(詳細圖解)

Redis PubSub 模塊又稱發(fā)布訂閱者模式,是一種消息傳遞系統(tǒng),實現(xiàn)了消息多播功能。發(fā)布者(即發(fā)送方)發(fā)送消息,訂閱者(即接收方)接收消息,而用來傳遞消息的鏈路則被稱為 
channel。在 Redis 中,一個客戶端可以訂閱任意數(shù)量的 channel(可譯為頻道)。

消息多播:生產(chǎn)者生產(chǎn)一次消息,中間件負責將消息復(fù)制到多個消息隊列中,每個消息隊列由相應(yīng)的消費組進行消費,這是分布式系統(tǒng)常用的一種解耦方式。

發(fā)布/訂閱流程

下面的示例演示了“發(fā)布/訂閱者”模式的工作流程,示意圖如下所示:



圖1:發(fā)布訂閱模式

1) 訂閱者/等待接收消息

首先打開 Redis 客戶端,然后訂閱了一個名為“www.biancheng.net”的 channel,使用如下命令:

#訂閱channel
127.0.0.1:6379> SUBSCRIBE www.biancheng.net
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "www.biancheng.net"
3) (integer) 1 

上述示例使用
SUBSCRIBE命令訂閱了名為 www.biancheng.net 的 channel。命令執(zhí)行后該客戶端會出處于等待接收消息的阻塞狀態(tài)。

2) 發(fā)布者/發(fā)送消息

下面再啟動一個 Redis 客戶端,輸入如下命令:

127.0.0.1:6379> PUBLISH www.biancheng.net "this is website"
(integer) 1
127.0.0.1:6379> PUBLISH www.biancheng.net "hello world"
(integer) 1
127.0.0.1:6379> PUBLISH www.biancheng.net "how are you"
(integer) 1

通過上述PUBLISH命令發(fā)布了三條信息?,F(xiàn)在兩個客戶端在處于同一個名為“www.biancheng.net”的頻道上,前者負責接收消息,后者負責發(fā)布消息。

3) 訂閱者/成功接收消息

完成了上述操作后,您會在接收消息的客戶端得到如下輸出結(jié)果:

127.0.0.1:6379> SUBSCRIBE www.biancheng.net
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "www.biancheng.net"
3) (integer) 1
1) "message"
2) "www.biancheng.net"
3) "this is website"
1) "message"
2) "www.biancheng.net"
3) "hello world"
1) "message"
2) "www.biancheng.net"
3) "how are you"

常用命令匯總

Redis PubSub常用命令
命令 說明
PSUBSCRIBE pattern [pattern ...] 訂閱一個或多個符合指定模式的頻道。
PUBSUB subcommand [argument [argument ...]] 查看發(fā)布/訂閱系統(tǒng)狀態(tài),可選參數(shù)
1) channel 返回在線狀態(tài)的頻道。
2) numpat 返回指定模式的訂閱者數(shù)量。
3) numsub 返回指定頻道的訂閱者數(shù)量。
PUBSUB subcommand [argument [argument ...]] 將信息發(fā)送到指定的頻道。
PUNSUBSCRIBE [pattern [pattern ...]] 退訂所有指定模式的頻道。
SUBSCRIBE channel [channel ...] 訂閱一個或者多個頻道的消息。
UNSUBSCRIBE [channel [channel ...]] 退訂指定的頻道。

 

基本命令應(yīng)用

下面對上述常用命令做演示:

#訂閱指定模式的頻道,*代表通配符,會匹配所有www開頭的頻道
127.0.0.1:6379> PSUBSCRIBE www*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "www*"
3) (integer) 1
#按ctrl+c退出阻塞狀態(tài)
^C
C:\Users\Administrator>redis-cli
#查看發(fā)布訂閱系統(tǒng)狀態(tài),返回相應(yīng)的頻道
127.0.0.1:6379> PUBSUB channels
1) "www.biancheng.net"
#退訂指定模式的頻道
127.0.0.1:6379> PUNSUBSCRIBE www*
1) "punsubscribe"
2) "www*"
3) (integer) 0
#退訂指定頻道
127.0.0.1:6379> UNSUBSCRIBE www.biancheng.net
1) "unsubscribe"
2) "www.biancheng.net"
3) (integer) 0

網(wǎng)頁題目:RedisPubSub發(fā)布訂閱(詳細圖解)
轉(zhuǎn)載來于:http://uogjgqi.cn/article/dpgsdsp.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流