您好,欢迎光临! 推荐您使用Chrome浏览器访问本站。

秒杀核心设计(减库存部分)-防超卖与高并发

1,174 views
秒杀核心设计(减库存部分)-防超卖与高并发假设有两个表,一个存放buy_record用户秒杀记录,一个是产品表goods 通过在buy_record添加uid,goods_id并加唯一索引 开启事务 插入 insert into buy_record if(唯一索引报错?){ 抛异常,用户已经秒过了,回滚 }else{ update goods set goods_num=goods_num-1  where goods_id=$goods_id and goods_num>0 ;//更新库存 if(受影响行数<=0){ 抛异常,商品秒完了,回滚 } }       其他方案: 主要思路: 1、前端三板斧【扩容】【限流】【静态化】 2、后端两条路【内存】+【排队】   解决方案1: 将存库从MySQL......