redis 和 mq的區別

redis是一個高性能key-value數據庫,支持消息推送功能,可以當作輕量級隊列服務器來使用

redis消息推送多用於實時性要求高,並不保證可靠;mq保證可靠但有延遲

下面通過幾點來區分redis和mq:
1.可靠性
redis:沒有機制保證消息的可靠性,發佈一條消息沒有對應的訂閱者,消息會丟失不會存在內存中
mq:具有消息確認機制,發佈一條消息沒有消費該隊列,這條消息會一直存在隊列中,直到有消費者消費該消息,保證消息的可靠性

2.實時性
redis實時性高,是高效的緩存服務器,所有數據都存在內存中,所以具有更高的實時性

3.消費者負載均衡
mq可以被多個消費者同時監控消費,因確認機制每條消息只能消費一次,可以根據消費者能力調整負載
redis發佈訂閱模式,一個消息可以被多個消費者訂閱,消息到達時會將消息發送給每一個訂閱者,是一種消息的廣播形式,本身不做消費者負載均衡,因此消費效率存在瓶頸

4.持久性
redis:redis持久化是針對整個redis緩存,可將整個redis緩存作爲磁盤備份,以防異常導致數據丟失
mq:每條消息可選擇持久化,更靈活

5.隊列監控
redis:沒有後臺監控
mq:實現後臺監控,可在平臺上查看詳細情況

6.性能
發佈消息數據較小時,redis性能高於mq。讀數據無論數據大小,redis都高於mq

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章