redis相比于rabbitmq,更通用对吗?

我目前在这2个之间摇摆

目前更倾向 redis, 因为:

redis 可以实现和rabbitmq一样的 队列功能,两者打了个平手

redis还多了一个可以缓存数据的功能

请问我这样理解对吗

阅读 6.8k
3 个回答

其实题主的理解有些许误差
redis本身的开发理念就是做简单、高效的存储系统不过是附带了消息队列这样的功能而已,并没有针对消息队列做更多的提升。例如:不能很好的保证消息一致性,没有ack机制(当然这些都有解决方案可以自己去实现),这些专门做消息队列都有的东西。
所以说:当含有消息队列相关需求的场景比较少或是项目体量不是很大的时候,可以上Redis完全没有问题。当项目体量越来越大,消息队列要处理的场景越来越多,你就会发现不如上个专门的消息队列来得舒服。

题主可以看看这篇知乎 https://www.zhihu.com/questio... 里面的各位大神已经解释得很清楚了。
之前我看的时候也是醍醐灌顶,打破了我种种的疑虑。

定位不同,rabbitMQ就是用来做一个高性能,高可用的消息队列的
Redis的list当然也可以做个简单队列,但是主要拿他当缓存的用的
消息队列上RabbitMQ可用性高多了

redis作者野心很大,你看看5.0 的 stream 功能,那可不就是一个完整的消息队列嘛