为了账号安全,请及时绑定邮箱和手机立即绑定

redis的秒杀逻辑可能的存在问题

1.判断队列长度有可能一直小于10,因为同时在消费队列,这样可能会导致超卖问题

正在回答

1 回答

视频中采用for循环测试,这个是有序的,所以不会出现超卖现象;如果并发测试的话,会出现超卖现象;这里提供一个解决思路:活动前定义一个长度为10的list;利用lpop的原子性可以保障不会超卖;就是每次请求先lpop,如果可以获取到值,表示秒杀成功;获取不到说明已抢完。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP消息队列实现及应用
  • 参与学习       32670    人
  • 解答问题       58    个

消息队列是个什么玩意儿,使用队列解决秒杀等实际问题概念和使用方法

进入课程

redis的秒杀逻辑可能的存在问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信