Redis存储数据类型为list时,是可以当消息队列的。与RabbitMQ的区别如下:

1.安全方面:redis不安全,数据完整性不能保证,当消费者下线后,队列中的数据有可能会丢失。而mq不会,mq队列中的数据如果没有被消费,会永久存储在内存中。

2.redis发布订阅时,一个队列可以被多个消费者同时订阅,当有消息到来的话,会依次把消息传送给每个订阅者。

3.mq:一个队列可以被很多消费者监控,但每个消息只能被消费一次,所以也正是这种消费确认机制,它能根据消费者消费能力,来调整它的负荷。

4.mq是一个专门AMQP的一个协议队列,优势就是提供可靠的队列服务,并且做到异步。而redis主要是做缓存的,当做发布订阅时,实时性比较好,但是不可靠。