消息队列的概念
Message Queue ,字面意思就是存放消息的队列:
消息队列:存储和管理消息,也被称为消息代理(Message Broker)
生产者:发送消息到消息队列
消费者:从消息队列获取消息并处理消息
生产者->Message Queue->消费者
消息队列要保证什么?
1.消息队列是独立于JVM的,不受JVM内存限制
2.消息队列还要保证数据安全,服务宕机和重启数据不会消失,确保消息被消费
基于List的消息队列
基于PubSub的消息队列
基于Stream的消息队列
Stream是redis5.0引入的一种新的数据类型,可以实现一个功能非常完善的消息队列
![]()
![]()
Stream类型消息队列的XREAD命令特点
1.消息可回溯
2.一个消息可以被多个消费者读取
3.可以堵塞读取
4.有消息漏读的风险