1. 程式人生 > >【Redis釋出訂閱】

【Redis釋出訂閱】

Redis通過PUBLISHSUBSCRIBE等命令實現釋出與訂閱模式。
在這裡插入圖片描述
在這裡插入圖片描述
舉例:QQ群的公告,單個釋出者,多個收聽著。
***

釋出/訂閱

PUBLISH 頻道 訊息
將訊息釋出到指定的頻道。
.
SUBSCRIBE 頻道1 [頻道2] [...]
可同時訂閱多個頻道。
.
UNSUBSCRIBE 頻道1 [頻道2]
取消訂閱指定的頻道,如果不指定頻道則會取消訂閱所有頻道。
.
PSUBSCRIBE [匹配模式1] [匹配模式2]
訂閱一個或多個符合給定模式的頻道,每個模式以"*"作為匹配符,例如"re*"見匹配所有以"re"開頭的頻道。
news.*匹配所有以news.開頭的頻道(news.it 、 news.global.today 等等),諸如此類。
.
PUNSUBSCRIBE [匹配模式1] [匹配模式2]


退訂指定的規則的頻道,如果未指定引數,則退訂所有規則的頻道。
.
PUBSUB subcommand [argument [argument ...]]
檢視訂閱與釋出系統狀態。
.
注意:
使用釋出訂閱模式實現的訊息佇列,當有客戶端訂閱頻道後,只能接收到後續釋出到該頻道的訊息。
之前傳送的不會快取,必須Provider和Consumer同時線上。

下面將以SUBSCRIBEPUBLISH舉例:
.
啟動兩個視窗,進入redis-cli客戶端,並訂閱頻道,如下圖:
在這裡插入圖片描述
在這裡插入圖片描述
在啟動一個新視窗進入redis-cli客戶端,開始請頻道channel釋出訊息:
在這裡插入圖片描述
此時,切回訂閱者視窗,即可看到其釋出的"PONG"訊息。
需要注意的是,如果傳送中文,則顯示的二進位制。

***