Redis存储数据类型为list时,是可以当消息队列的。与RabbitMQ的区别如下:
1.安全方面
:redis不安全,数据完整性不能保证,当消费者下线后,队列中的数据有可能会丢失。而mq不会,mq队列中的数据如果没有被消费,会永久存储在内存中。
2.redis发布订阅
时,一个队列可以被多个消费者同时订阅,当有消息到来的话,会依次把消息传送给每个订阅者。
3.mq:一个队列可以被很多消费者监控
,但每个消息只能被消费一次,所以也正是这种消费确认机制,它能根据消费者消费能力,来调整它的负荷。
4.mq是一个专门AMQP的一个协议队列,优势就是提供可靠的队列服务
,并且做到异步
。而redis主要是做缓存的,当做发布订阅时,实时性
比较好,但是不可靠。