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

程序会不会有超过 秒杀数量的情况出现啊?

老实, 帮忙问一个问题, 因为 消费队列一直在执行过程中,当我添加了一个队列后, 后台立即消费了, 那前台程序获取队列总数的时候就少了一个, 这个情况会出现吗? 一般如何解决啊?

正在回答

2 回答

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

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

可以通过设置一个const常量解决吧,常量初始值为0,有数据入队时常量值++,通过判断常量的值控制秒杀数量,这样消费者消费队列并不会影响统计秒杀数量

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

举报

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

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

进入课程

程序会不会有超过 秒杀数量的情况出现啊?

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