Redis中的发布与订阅的概念与以命令行的方式实现发布订阅举例
場景
什么是發布與訂閱
發布訂閱是一種應用程序(系統)之間通訊,傳遞數據的技術手段,特別是在異構(不同語言)系統之間的作用非常明顯。
發布訂閱:
類似于微信中關注公眾號/訂閱號,公眾號/訂閱號發布的文章,訂閱者能及時獲取到最新的內容。
發布訂閱是一對多的關系。
訂閱:
對某個內容感興趣,需要實時獲取新的內容。只要關注的內容有變化就能立即得到通知。
發布:
提供某個內容,把內容信息發送給多個對此內容感興趣的訂閱者。是有主動權的一方。
發布訂閱應用在即時通信中較多,比如網絡聊天室、外賣搶單、搶紅包等。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
Centos中Redis的下載編譯與安裝(超詳細):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334
Redis的啟動和關閉(前臺啟動和后臺啟動):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348
RedisDesktopManager客戶端可視化工具下載安裝與使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147
通過上面幾篇博客將Redis的環境搭建起來。
這里使用XShell進行連接后,復制三個會話
?
這里一共四個會話,其中一個作為發布者,三個作為訂閱者
?
然后在第一個作為發布者的會話中以后臺模式啟動Redis服務端,并啟動客戶端,具體參照上面博客。
然后在另外三個作為訂閱者的會話中分別啟動客戶端。
?
要實現發布訂閱要遵循先訂閱再發布。
所以在作為訂閱者的三個會話中依次執行訂閱頻道的操作
SUBSCRIBE badaodechengxvyuan前面是訂閱命令后面跟的是頻道號,類似于公眾號。
?
然后在作為發布者的會話中進行發布。
publish badaodechengxvyuan "hello"可以看到在發布后三個訂閱者分別能收到消息
?
除此之外,Redis常用發布訂閱命令如下
?
| 1 | PSUBSCRIBE pattern [pattern ...]? 訂閱一個或多個符合給定模式的頻道。 |
| 2 | PUBSUB subcommand [argument [argument ...]]? 查看訂閱與發布系統狀態。 |
| 3 | PUBLISH channel message? 將信息發送到指定的頻道。 |
| 4 | PUNSUBSCRIBE [pattern [pattern ...]]? 退訂所有給定模式的頻道。 |
| 5 | SUBSCRIBE channel [channel ...]? 訂閱給定的一個或多個頻道的信息。 |
| 6 | UNSUBSCRIBE [channel [channel ...]]? 指退訂給定的頻道。 |
總結
以上是生活随笔為你收集整理的Redis中的发布与订阅的概念与以命令行的方式实现发布订阅举例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringDataRedis对Redi
- 下一篇: Redis中使用Java代码的方式实现发