天天看點

Redis筆記(六)Redis的消息通知

使用清單類型的lpush和rpop指令(或者rpush和lpop指令,右進左出),

可以很友善的實作一個任務隊列,但是需要設定定時去查詢隊列,

并且可以使用對應的阻塞指令,如lpush和brpop指令,可以實作背景接收消息的推送。

redis支援釋出/訂閱的模式,"釋出/訂閱"模式中包含兩種角色,分别是釋出者和訂閱者。

訂閱者可以訂閱一個或若幹個頻道(channel),釋出者可以向指定的頻道發送消息,所有訂閱此頻道的訂閱者都會收到此消息。

但是需要注意一下,使用釋出訂閱模式實作的消息隊列,當有用戶端訂閱channel後隻能收到後續釋出到該頻道的消息,之前發送的不會緩存,必須provider和consumer同時線上。

指令參數

publish channel msg

将資訊 message 發送到指定的頻道 channel 

subscribe channel [channel ...]

訂閱頻道,可以同時訂閱多個頻道

unsubscribe [channel ...]

取消訂閱指定的頻道, 如果不指定頻道,則會取消訂閱所有頻道

psubscribe pattern [pattern ...]

訂閱一個或多個符合給定模式的頻道,每個模式以 * 作為比對符,比如 it* 比對所有以 it 開頭的頻道( it.news 、 it.blog 、 it.tweets 等等), news.* 比對所有以 news. 開頭的頻道( news.it 、 news.global.today 等等),諸如此類

punsubscribe [pattern [pattern ...]]

退訂指定的規則, 如果沒有參數則會退訂所有規則

pubsub subcommand [argument [argument ...]]

檢視訂閱與釋出系統狀态

繼續閱讀