redis原子性控制超卖问题

来源:4-4 扣库存代码演示

qq_深都_03155654

2019-10-01 21:06

老师,既然redis是单线程,那为什么非要配合lua呢,直接在代码里执行redis->eval或者redis->incrby不就能控制超卖么,

写回答 关注

1回答

  • 皮奇
    2019-10-02 10:18:02

    同学你好,你的思路不错,可以继续去想下直接incrby改会有什么问题,老师提供的思路只是其中一个方案,真正场景实现肯定会有非常多的方案,需要大家自己思考。
    redis->eval本身就是执行lua脚本,redis->incrby理论上也可以防止边界条件的发生,不会造成超卖,因为incrby就实现了查询+修改的原子操作,但是有一点点小缺点就是,不能做到只要一超卖了就直接终止+1。

    慕粉3988... 回复慕勒4092...

    我也想知道,请老师回答

    2020-09-17 16:50:47

    共 4 条回复 >

PHP秒杀设计

利用php+redis打造一个高性能的订单秒杀系统

11612 学习 · 61 问题

查看课程

相似问题