瑞士軍刀redis - 釋出訂閱

歷精圖治發表於2018-11-10
  • 角色
  • 模型
  • API
  • 釋出訂閱和訊息佇列

角色:

  • 釋出者 publisher
  • 訂閱者 subcriber
  • 頻道

模型

  • redis server中有多個頻道
  • 訂閱者可以訂閱多個頻道
  • 釋出者釋出資訊到其中一個頻道
  • 無法獲取訊息的歷史,

釋出訂閱

  • publish
  • unsubscribe
  • subscribe
  • 其他

publish 釋出命令

publish channel message 
publish sohu:tv "helloworld"  
(integer)3 訂閱者

subscribe 訂閱

subscribe [channel ] # 一個或多個 
subscribe sohu:tv 
1)"subscribe"
2)"sohu:tv" 
3)(integer)1 
1) "message"
2)"sohu:tv"
3)"helloworld "

unsubscribe 取消訂閱

unsubscribe #一個或多個 
unsubscribe sohu:tv 
1)"unsubscribe"
2) "sohu:tv" 
3) (integer) 0 

其他api

psubscribe[pattern...]:#訂閱模式 
 punsubscribe[pattern...]#退訂指定的模式 
 pubsub channels #列出至少有一個訂閱者的頻道  
 pubsub numsub [channel...]#列出給定頻道的訂閱者數量 
 pubsub numpat #列出被訂閱模式的數量 

訊息佇列和釋出訂閱的區別和使用場景

訊息佇列 必然只有一個訂閱者能get到
釋出訂閱 所有都可以訂閱到

相關文章