redis :沒有相應的機制保證消息的可靠消費,若是發佈者發佈一條消息,而沒有對應的訂閱者的話,這條消息將丟失,不會存在內存中;
rabbitmq:具備消息消費確認機制,若是發佈一條消息,尚未消費者消費該隊列,那麼這條消息將一直存放在隊列中,直到有消費者消費了該條消息,以此能夠保證消息的可靠消費;redis
redis:實時性高,redis做爲高效的緩存服務器,全部數據都存在在服務器中,因此它具備更高的實時性緩存
rabbitmq隊列能夠被多個消費者同時監控消費,可是每一條消息只能被消費一次,因爲rabbitmq的消費確認機制,所以它可以根據消費者的消費能力而調整它的負載;
redis發佈訂閱模式,一個隊列能夠被多個消費者同時訂閱,當有消息到達時,會將該消息依次發送給每一個訂閱者;服務器
redis:redis的持久化是針對於整個redis緩存的內容,它有RDB和AOF兩種持久化方式(redis持久化方式,後續更新),能夠將整個redis實例持久化到磁盤,以此來作數據備份,防止異常狀況下致使數據丟失。
rabbitmq:隊列,消息均可以選擇性持久化,持久化粒度更小,更靈活;併發
rabbitmq實現了後臺監控平臺,能夠在該平臺上看到全部建立的隊列的詳細狀況,良好的後臺管理平臺能夠方面咱們更好的使用;
redis沒有所謂的監控平臺。負載均衡
redis: 輕量級,低延遲,高併發,低可靠性;
rabbitmq:重量級,高可靠,異步,不保證明時;
rabbitmq是一個專門的AMQP協議隊列,他的優點就在於提供可靠的隊列服務,而且可作到異步,而redis主要是用於緩存的,redis的發佈訂閱模塊,可用於實現及時性,且可靠性低的功能。異步