0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Redis可以實現(xiàn)消息中間件MQ的功能

馬哥Linux運維 ? 來源:51cto ? 2024-01-25 14:48 ? 次閱讀

1、是什么

是一種通信模式:發(fā)送者(PUBLISH)發(fā)送消息,訂閱者(SUBSCRIBE)接收消息,可以實現(xiàn)進程間的消息傳遞

Redis可以實現(xiàn)消息中間件MQ的功能,通過發(fā)布訂閱實現(xiàn)消息的引導(dǎo)和分流

2、能干啥

Redis客戶端可以訂閱任意數(shù)量的頻道,類似于微信關(guān)注多個公眾號

當(dāng)有新消息通過PUBLISH命令發(fā)送給頻道channel時

3、常用命令

3.1、SUBSCRIBE channel [channel.。.]

訂閱給定的一個或多個頻道的信息

推薦先執(zhí)行訂閱后再發(fā)布,訂閱成功之前發(fā)布的消息是收不到的

訂閱的客戶端每次可以收到3個參數(shù)的消息

消息的種類

始發(fā)頻道的名稱

實際的消息內(nèi)容

3.2、PUBLISH channel message

發(fā)布消息到指定的頻道

3.3、PSUBSCRIBE pattern [pattern.。.]

按照模式批量訂閱,訂閱一個或多個符合給定模式(支持*號?號之類的)頻道

3.4、PUBSUB subcommand [argument [argument.。.]]

查看訂閱與發(fā)布系統(tǒng)狀態(tài)

PUBSUB CHANNELS

由活躍頻道組成的列表

PUBSUB NUMSUB channel [channel.。.]

某個頻道有幾個訂閱者

PUBSUB NUMPAT

只統(tǒng)計使用PSUBSCRIBE命令執(zhí)行的,返回客戶端訂閱的唯一模式的數(shù)量

3.5、UNSUBSCRIBE channel [channel.。.]

取消訂閱

3.6、PUNSUBSCRIBE pattern [pattern.。.]

退訂所有給定模式的頻道

4、案例演示

開啟3個客戶端,演示客戶端A、B訂閱消息,客戶端C發(fā)布消息

演示批量訂閱和發(fā)布

取消訂閱

5、小總結(jié)

Redis可以實現(xiàn)消息中間件MQ的功能,通過發(fā)布訂閱實現(xiàn)消息的引導(dǎo)和分流

Pub/Sub缺點

發(fā)布的消息在Redis系統(tǒng)中不能持久化,因此,必須先執(zhí)行訂閱,再等待消息發(fā)布,如果先發(fā)布了消息,那么該消息由于沒有訂閱者,消息將被直接丟棄

消息只管發(fā)送,對于發(fā)布者而言消息是即發(fā)即失的,不管接收,也沒有ACK機制,無法保證消息的消費成功

以上的缺點導(dǎo)致Redis的Pub/Sub模式就像一個小玩具,在生產(chǎn)環(huán)境中幾乎無用武之地,為此,Redis5.0版本新增了Stream數(shù)據(jù)結(jié)構(gòu),不但支持多播,還支持?jǐn)?shù)據(jù)持久化,相比Pub/Sub更加的強大

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 中間件
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    18104
  • 客戶端
    +關(guān)注

    關(guān)注

    1

    文章

    287

    瀏覽量

    16604
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    368

    瀏覽量

    10780

原文標(biāo)題:一文拿捏Redis7 發(fā)布訂閱

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于SOA的數(shù)字電視中間件系統(tǒng)的研究與實現(xiàn)

    基于SOA的數(shù)字電視中間件系統(tǒng)的研究與實現(xiàn)針對數(shù)字電視制播系統(tǒng)應(yīng)用集成時存在的異構(gòu)問題.對數(shù)字電視中間件系統(tǒng)進行研究。提出數(shù)字電視發(fā)送端制播系統(tǒng)中間件的基本思想。該系統(tǒng)技術(shù)架構(gòu)為SOA
    發(fā)表于 10-06 10:03

    請問怎樣去設(shè)計RFID的中間件?

    無線射頻識別(RFID)技術(shù)是什么?怎樣去設(shè)計RFID的中間件?RFID中間件功能實現(xiàn)原理是什么?
    發(fā)表于 05-18 06:11

    怎么實現(xiàn)基于NFC手機的RFID中間件的設(shè)計?

    本文就一種基于 NFC手機的RFID中間件進行研究與實現(xiàn),將RFID 中間件技術(shù)與移動互聯(lián)網(wǎng)相結(jié)合,彌補了傳統(tǒng)RFID 中間件的不足之處,并且符合當(dāng)前發(fā)展趨勢。
    發(fā)表于 05-21 06:02

    中間件消息隊列的建模與實現(xiàn)

    論述了面向消息中間件的建模方法,并簡要討論了該模型在Client/ Server 環(huán)境中的具體實現(xiàn)。實驗證明,這種模型的實現(xiàn)可以彌補DEC MessageQ 在動態(tài)資源管理上的不足。關(guān)
    發(fā)表于 03-25 17:03 ?19次下載

    支持多服務(wù)的消息中間件設(shè)計與實現(xiàn)

    為了解決消息中間件中的性能瓶頸問題和實現(xiàn)其可靠性的提高,研究并開發(fā)了支持多服務(wù)的消息中間件,提供單個節(jié)點無法提供的性能和可靠性保障。消息集群設(shè)計過程中涉及的主
    發(fā)表于 08-06 10:04 ?26次下載

    基于中間件技術(shù)的異構(gòu)機器人系統(tǒng)設(shè)計及實現(xiàn)

    基于中間件技術(shù)的異構(gòu)機器人系統(tǒng)設(shè)計及實現(xiàn):基于C++CORBA中間件的技術(shù)規(guī)范和具體應(yīng)用,對異構(gòu)機器人系統(tǒng)的集成技術(shù)進行了研究.以ACE?TAO作為開發(fā)平臺,
    發(fā)表于 03-18 16:23 ?17次下載

    基于JMS的RFID中間件設(shè)計與實現(xiàn)

    介紹了Radio Frequency Identification (RFID) 和物聯(lián)網(wǎng)的RFID 中間件技術(shù),設(shè)計了RFID 中間件整體框架,在此基礎(chǔ)上設(shè)計并實現(xiàn)了一個基于JMS 的商品零售的邊緣
    發(fā)表于 10-19 16:16 ?17次下載

    什么是中間件

    什么是中間件 中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件
    發(fā)表于 12-28 17:54 ?1345次閱讀
    什么是<b class='flag-5'>中間件</b>

    NGB中間件標(biāo)準(zhǔn)考慮因素

      數(shù)字電視中間件技術(shù)與標(biāo)準(zhǔn),大家都非常熟悉了。自2001年,DVB推出MHP中間件技術(shù)標(biāo)準(zhǔn)以來,全世界各地都開始了中間件技術(shù)的研究與標(biāo)準(zhǔn)制定工作,而且基本上都是源自于MHP
    發(fā)表于 06-25 11:18 ?1057次閱讀
    NGB<b class='flag-5'>中間件</b>標(biāo)準(zhǔn)考慮因素

    基于ARM平臺的RFID中間件系統(tǒng)設(shè)計

    基于ARM平臺的RFID中間件系統(tǒng)設(shè)計
    發(fā)表于 01-12 22:16 ?15次下載

    常見的中間件有哪些?匯總解析

    世界著名的資訊機構(gòu)Giga Group把中間件分為三大類,共十五種。另一家世界著名的資訊機構(gòu)IDC同時指出,最近幾年到未來的2002年,增長率最高的中間件將集中在數(shù)據(jù)存取中間件、消息中間件
    發(fā)表于 12-01 08:48 ?5.4w次閱讀

    物聯(lián)網(wǎng)軟件系統(tǒng)中的RFID中間件介紹

    RFID中間件是物聯(lián)網(wǎng)軟件系統(tǒng)中的關(guān)鍵和靈魂,為解決分布異構(gòu)問題,人們提出了中間件的概念。中間件是位于平臺(硬件和操作系統(tǒng))和應(yīng)用之間的通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,它們
    發(fā)表于 04-15 16:00 ?4468次閱讀
    物聯(lián)網(wǎng)軟件系統(tǒng)中的RFID<b class='flag-5'>中間件</b>介紹

    RFID中間件是什么東西

    RFID 中間件是一種面向消息的中間件,信息是以消息的形式,從一個程序傳送到另一個或多個程序。
    發(fā)表于 12-02 16:12 ?3371次閱讀

    基于SOA的RFID中間件如何來設(shè)計

    RFID中間件是一種消息導(dǎo)向的軟件中間件,信息是以消息的形式從一個程序模塊傳遞到另一個或多個程序模塊。
    發(fā)表于 01-07 16:22 ?687次閱讀
    基于SOA的RFID<b class='flag-5'>中間件</b>如何來設(shè)計

    通信中間件接口手冊

    通信中間件接口手冊
    發(fā)表于 06-29 11:37 ?2次下載