Linux - redis發佈|訂閱

Linux - redis發佈|訂閱

發佈: publishweb

訂閱: subscriberedis

發佈|訂閱 基本命令

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 ...]]
    查看訂閱與發佈系統狀態
注意:使用發佈訂閱模式實現的消息隊列,當有客戶端訂閱channel後只能收到後續發佈到該頻道的消息,以前發送的不會緩存,必須Provider和Consumer同時在線。

發佈和訂閱實例

窗口1,啓動兩個redis-cli窗口,均訂閱diantai 頻道(channel)緩存

窗口2,啓動發佈者向頻道 diantai發送消息ide

[root@web02 ~]# redis-cli
127.0.0.1:6379> PUBLISH diantai 'jinyewugenglaiwojia'
(integer) 2

正則方式訂閱一個或者多個符合模式的頻道

窗口1,啓動兩個redis-cli窗口,均訂閱 wang*頻道(channel)ui

127.0.0.1:6379> PSUBSCRIBE wang*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "wang*"
3) (integer) 1


1) "pmessage"
2) "wang*"
3) "wangbaoqiang"
4) "jintian zhennanshou "

窗口2,啓動redis-cli窗口,均訂閱wang*頻道code

127.0.0.1:6379> PSUBSCRIBE wang*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "wang*"
3) (integer) 1



1) "pmessage"
2) "wang*"
3) "wangbaoqiang"
4) "jintian zhennanshou "

窗口3,發佈者消息blog

[root@web02 ~]# redis-cli
127.0.0.1:6379> PUBLISH wangbaoqiang "jintian zhennanshou "
(integer) 2
相關文章
相關標籤/搜索