在秒杀场景中redis的关键技术和实践
2022-03-26 16:36:16 0 举报
秒杀场景的简单编写
作者其他创作
大纲/内容
否
1.支持高并发
秒杀后
点击支付
db
通知卖家发货
秒杀场景redis应用
秒杀中
秒杀开始前,查询的动作比较多数据库支持千级别的查询,redis支持万级别的查询
查询库存余量
余额充足
1.前端静态页面设计2.请求拦截和流控3.库存信息过期时间处理(redis中保存的库存信息是数据库中的缓存,为了避免缓存击穿问题,我们不要给库存信息设置过期时间)4.数据库订单异常处理(如果数据库没有成功处理订单,可以增加订单重试的功能,保证订单被成功处理)
订单完成
调取支付模块查询余额
点击购买
秒杀前
有库存
更新钱包
处理订单
成功下单的请求量少,使用数据库处理
当有大并发涌入系统后可用redis先拦住大部分请求,避免大量请求直接发给数据库,把数据库压垮
redis
2.保证库存查验和库存扣减的原子性
数据落库
扣减库存,下单成功
扣减库存
大量高并发请求,使用redis处理,保证原子性
扣件余额
生成订单
3.使用分布式锁来支撑秒杀场景(先让客户端向redis申请分布式锁,只有拿到锁的客户才可以执行库存查验和扣减)
收藏
0 条评论
下一页