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

来源:3-2 Redis队列秒杀实现

慕仔7564882

2019-08-06 20:07

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

写回答 关注

1回答

  • 寻找09之夏
    2020-01-05 22:43:13

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

PHP消息队列实现及应用

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

32730 学习 · 58 问题

查看课程

相似问题