已解决
商品秒杀系统整理
来自网友在路上 169869提问 提问时间:2023-09-26 11:02:40阅读次数: 69
最佳答案 问答题库698位专家为你答疑解惑
1、使用redis缓存商品信息
2、互斥锁解决缓存击穿问题,用缓存空值解决缓存穿透问题。
3、CAS乐观锁解决秒杀超卖的问题
4、使用redission实现一人一单。(分布式锁+lua)脚本。
5、使用lua脚本进行秒杀资格判断(将库存和用户下单成功后的订单写入到缓存中,每次进来先用lua脚本进行判断)
6、将信息放入消息队列中,然后直接返回0表示排队中,后续客户端轮询查看结果。
7、在消息队列中,我们处理信息,查数据库(1、如果我们查到数据库库存为空,并且返回库存不足。并且在stockEmpty:商品id作为key,值标记为0。2、如果处理下单成功,将订单信息缓存并返回订单)
8、前端就通过回调getResult()方法,查到订单就返回订单id,如果库存为空就返回-1,0就代表还在排队中。
前端查到后就进行相应的处理
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"商品秒杀系统整理":http://eshow365.cn/6-13927-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!