保定网站制作策划,免费的做微博的网站模板,设计企业品牌logo,wordpress 站长统计插件1、使用redis缓存商品信息
2、互斥锁解决缓存击穿问题#xff0c;用缓存空值解决缓存穿透问题。
3、CAS乐观锁解决秒杀超卖的问题
4、使用redission实现一人一单。#xff08;分布式锁lua#xff09;脚本。
5、使用lua脚本进行秒杀资格判断#xff08;将库存和用户下单…1、使用redis缓存商品信息
2、互斥锁解决缓存击穿问题用缓存空值解决缓存穿透问题。
3、CAS乐观锁解决秒杀超卖的问题
4、使用redission实现一人一单。分布式锁lua脚本。
5、使用lua脚本进行秒杀资格判断将库存和用户下单成功后的订单写入到缓存中每次进来先用lua脚本进行判断
6、将信息放入消息队列中然后直接返回0表示排队中后续客户端轮询查看结果。
7、在消息队列中我们处理信息查数据库1、如果我们查到数据库库存为空并且返回库存不足。并且在stockEmpty商品id作为key,值标记为0。2、如果处理下单成功将订单信息缓存并返回订单
8、前端就通过回调getResult()方法查到订单就返回订单id,如果库存为空就返回-10就代表还在排队中。 前端查到后就进行相应的处理