当大量请求进来减少mysql中的库存,但是还没来得及修改redis的库存
来源:8-5 提高秒杀接口速度--astatus
spkinger
2018-06-21
如标题中所说,这时很有可能会大量请求没有被redis拦住,直接涌入mysql中,请问有什么好的处理方案吗
写回答
1回答
-
一凡
2018-06-21
先通过redis中incr减库存,如果成功,才会到mysql生成订单数据,如果失败,则直接返回秒杀失败啦,不会有数据库操作。如果库存不足,也会生成astatus.js静态化文件,后续也就不会经过php,redis,mysql整个过程。
redis减库存不成功,也就秒杀失败了,不会到mysql数据呀。
系统中会涉及到mysql的地方只有一个,那就是秒杀成功的时候,保存订单数据。库存数量可能1w,也可能10w,那就是1w或者10w的insert操作。大量请求进来,哪怕是100w,1个亿,那也不会有超过库存数量的处理,比如:1w、10w的处理要到mysql。
00
相似问题