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

posted @ 2023-02-08 10:42  CH|heyi  阅读(1419)  评论(0编辑  收藏  举报