课程
/后端开发
/PHP
/PHP秒杀设计
老师,既然redis是单线程,那为什么非要配合lua呢,直接在代码里执行redis->eval或者redis->incrby不就能控制超卖么,
2019-10-01
源自:PHP秒杀设计 4-4
正在回答
同学你好,你的思路不错,可以继续去想下直接incrby改会有什么问题,老师提供的思路只是其中一个方案,真正场景实现肯定会有非常多的方案,需要大家自己思考。redis->eval本身就是执行lua脚本,redis->incrby理论上也可以防止边界条件的发生,不会造成超卖,因为incrby就实现了查询+修改的原子操作,但是有一点点小缺点就是,不能做到只要一超卖了就直接终止+1。
MKfans菜鸟
皮奇 回复 MKfans菜鸟
慕勒4092611 回复 皮奇
慕粉3988021 回复 慕勒4092611
举报
利用php+redis打造一个高性能的订单秒杀系统
1 回答redis中lua api
3 回答为什么统一减库存能防止少卖的现象啊
1 回答假如在抢购过程中 redis 挂了怎么办呢
2 回答为什么这里要用lua而不用php操作redis?
1 回答问题哈,真有公司在生产环境使用 apcu 么?本地内存,来做库存的限制么?请赐教