將redis發布訂閱和rabbitmq的區別

2022-06-15 12:36:12 字數 805 閱讀 8752

redis :沒有相應的機制保證訊息的可靠消費,如果發布者發布一條訊息,而沒有對應的訂閱者的話,這條訊息將丟失,不會存在記憶體中;

rabbitmq:具有訊息消費確認機制,如果發布一條訊息,還沒有消費者消費該佇列,那麼這條訊息將一直存放在佇列中,直到有消費者消費了該條訊息,以此可以保證訊息的可靠消費;

redis:實時性高,redis作為高效的快取伺服器,所有資料都存在在伺服器中,所以它具有更高的實時性

rabbitmq佇列可以被多個消費者同時監控消費,但是每一條訊息只能被消費一次,由於rabbitmq的消費確認機制,因此它能夠根據消費者的消費能力而調整它的負載;

redis發布訂閱模式,乙個佇列可以被多個消費者同時訂閱,當有訊息到達時,會將該訊息依次傳送給每個訂閱者;

redis:redis的持久化是針對於整個redis快取的內容,它有rdb和aof兩種持久化方式(redis持久化方式,後續更新),可以將整個redis例項持久化到磁碟,以此來做資料備份,防止異常情況下導致資料丟失。

rabbitmq:佇列,訊息都可以選擇性持久化,持久化粒度更小,更靈活;

rabbitmq實現了後台監控平台,可以在該平台上看到所有建立的佇列的詳細情況,良好的後台管理平台可以方面我們更好的使用;

redis沒有所謂的監控平台。

redis: 輕量級,低延遲,高併發,低可靠性;

rabbitmq:重量級,高可靠,非同步,不保證實時;

rabbitmq是乙個專門的amqp協議佇列,他的優勢就在於提供可靠的佇列服務,並且可做到非同步,而redis主要是用於快取的,redis的發布訂閱模組,可用於實現及時性,且可靠性低的功能。

**於:

Redis 發布和訂閱

發布與訂閱 又稱pub sub 訂閱者 listener 負責訂閱頻道 channel 傳送者 publisher 負責向頻道傳送二進位制字串訊息 binary string message 每當有訊息被傳送給指定頻道的時候,頻道都所有訂閱者都會收到訊息。redis提供都5個發布訂閱命令 命令描述 ...

Redis 發布和訂閱

一 概述 1 發布和訂閱是一種訊息通訊模式。2 優點 使訊息訂閱者和訊息發布者耦合度降低,類似設計模式中的觀察者模式。二 發布和訂閱 訂閱命令 訂閱乙個或多個頻道 返回值 value 1 為 subcribe 表示訂閱成功,value 2 為訂閱的頻道名稱,value 3 表示當前訂閱的頻道個數 s...

Redis 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 pu...