Redis三种消息队列

首先我们要知道什么是消息队列

消息队列字面意思就是存放消息的队列,里面有三个角色(生产者,消息队列,消费者)

消息队列的好处就像快递员把快递放在快递柜一样,客户是消费者,快递小哥是生产者

我们可以使用一些中间件:kafka,rabbitmq等等

1、基于Redis消息队列-List实现,它的数据结构是一个链表,容易模拟出入队列效果,出口和入口不一样,缺点是当消息队列当中没有消息时,它不会阻塞,这时候可以使用LPUSH和RPOP。

优点是有不受限与JVM内存上线、基于Redis持久化机制,有利于数据的安全性。队列中消息是有序性的。

2、基于PubSub的消息队列

消费者可以订阅一个或多个channel,生产者向对应channel发送消息后,所有订阅者都能收到相关消息。

优点:采用发布订阅模型,支持多生产、多消费

缺点:不支持数据持久化

          无法避免消息丢失

          消息堆积有上限,超出时数据丢失

3、基于Stream实现消息队列

它基于快解决上面的所有缺点

优点:1.消息可回溯

2.一个消息可以被多个消费者读取

3.可以阻塞读取

4.有消息漏读的风险

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值