没有合适的资源?快使用搜索试试~ 我知道了~
微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 162 浏览量
2023-11-10
17:31:34
上传
评论
收藏 1.47MB PDF 举报
温馨提示
试读
19页
资源微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单知识分享
资源推荐
资源详情
资源评论
文章目录
一、什么是 Redis 消息队列?
二、Redis 消息队列 -- 基于 Redis List 实现消息队列
三、Redis 消息队列 -- 基于 Pubsub 的消息队列
四、基于Redis 的Stream 的消费队列
Stream 简单语法
Stream 的消费者组
五、基于Redis Stream消息队列实现异步秒杀
六、程序测试
小结
一、什么是 Redis 消息队列?
字面意思就是 。最简单的消息队列模型包括3个角色:存放消息的队列
消息队列:存储和管理消息,也被称为消息代理(Message Broker)
生产者:发送消息到消息队列
消费者:从消息队列获取消息并处理消息
使用队列的好处在于 解除数据之间的耦合性解耦
这里最好的是使用MQ、RabbitMQ、RocketMQ、Kafka等消息队列,我们本节主要介绍 Redis 的消
息队列。
二、Redis 消息队列 – 基于 Redis List 实现
消息队列
基于List结构模拟消息队列
消息队列(Message Queue):字面意思就是存放消息的队列。而Redis的list数据结构是一个双
,很容易模拟出队列效果。向链表
队列是入口和出口不在一边,我们可以通过 LPush、RPOP、RPush、LPOP 这些来实现。
注意 : 如果获取 LPOP、RPOP获取消息如果没有的话,会直接返回null,所以我们使用阻塞:
BLPOP、BRPOP来实现阻塞效果
基于List 结构的消息队列的优缺点?
优点:
利用Redis存储、不受限于JVM 内存上限
基于Redis 的持久化机制、数据安全性有保障
可以满足消息有序性
缺点:
无法避免消息丢失
只支持单消费者
三、Redis 消息队列 – 基于 Pubsub 的消息队
列
PubSub(发布订阅) Redis2.0版本引入的消息传递模型是 。
顾名思义,消费者可以订阅一个或多个channel,生产者向对应channel发送消息后,所有订阅者
都能收到相关消息。
Pubsub 常用命令
SUBSCRIBE channel [channel]
PUBLISH channel msg
PSUBSCRIBE pattern[pattern] pattern
基于PubSub的消息队列有哪些优缺点?
:优点
采用发布订阅模型,支持多生产、多消费
缺点:
不支持数据持久化
无法避免消息丢失
消息堆积有上限,超出时数据丢失
四、基于Redis 的Stream 的消费队列
Stream 是 Redis 5.0 引入的一种新数据类型,可以实现一个功能非常完善的消息队列。
Stream 简单语法
Stream 常用语法:
例如:
创建为 users 的消息队列,并向其中发送一条消息 使用Redis 自动生成id
读取消息的方式之一:XRead
利用 XRead 读取一个消息
XRead 阻塞方式,读取最新的消息
在业务开发中,我们可以循环的调用XREAD阻塞方式来查询最新消息,从而实现持续监听队列的效
果
剩余18页未读,继续阅读
资源评论
- A誓言飘过2024-01-12感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
北极象
- 粉丝: 1w+
- 资源: 345
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功