redis發布訂閱實戰


什么是redis?

Redis是一個開放源代碼(BSD許可)的內存數據結構存儲,用作數據庫、緩存和消息代理。它支持字符串、哈希、列表、集合、帶范圍查詢的排序集合、位圖、超日志、帶半徑查詢和流的地理空間索引等數據結構。Redis具有內置的復制、Lua腳本、LRU收回、事務和不同級別的磁盤上持久性,並通過Redis Sentinel和Redis群集的自動分區提供高可用性。說白了redis就是一個數據存儲字典當我們需要用到某些字段或者對象就去redis這個字典中去尋找。

為什么要使用redis?

當有這樣一個需求,我們的項目是分布式的,每個實例都需要一些字段吧,肯定有這么一種情況,有一個字段是所有實例共同維護的,那么問題來了,我們怎么實現?這個時候你就會想到redis。

redis支持存儲什么類型?

string,map,list set,zset,具體怎么用,請看官方API:https://redis.io/commands

本片文章的重點是redis的發布訂閱,下面請看

  • 第三步:使用redis-cli命令啟動客戶端,這里我們啟動三個客戶端(192.168.160.128[0],192.168.160.128[1],192.168.160.128[2])

  • 我們使用client list 命令來查看我們的客戶端啟動的情況

從上圖我們可以清楚的看到我們啟動了三個客戶端,端口分別為:51598,51600,51602

  • 我們使用netstat -an來查看本地網絡的連接情況:

從上圖我們可以清楚的看到redis服務端127.0.0.1:6379分別與客戶端127.0.0.1:51598,127.0.0.1:51600,127.0.0.1:51602建立了鏈接

  • 第四步:我們使用SUBSCRIBER命令訂閱一個頻道,這里客戶端192.168.160.128[0],192.168.160.128[1]都訂閱了頻道名稱為“redisChatTest1”的頻道。

  • 第五步:我們使用客戶端192.168.160.128[2]發布頻道信息,可以看到客戶端192.168.160.128[0],192.168.160.128[1]成功接收到它發來的頻道信息。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM