当前位置: 代码迷 >> PHP >> PHP+MYSQL怎么防止并发导致库存被超卖的情况
  详细解决方案

PHP+MYSQL怎么防止并发导致库存被超卖的情况

热度:35   发布时间:2016-04-28 17:26:44.0
PHP+MYSQL如何防止并发导致库存被超卖的情况。
网站遇到如团购、秒杀、特价之类活动的时候,然库存是有限的,目前 情况是,如果某商品只有一个库存了,此时有两名用户同时下单,则库存会变成了-1,也就说明两名用户都买了,可我只有一个库存,怎么解决这个问题?
------解决思路----------------------
数据库锁,select for update。。
用缓存控制库存。。每次decrement。。。下单没付款的后面再重新设置回去
------解决思路----------------------
1.事物处理
一般情况 ,事务处理都可以解决,我 这边用的基本上都是这个


2.每减少库存对应一个订单流水号(这个订单流水号在生成减少库存这个用户动作时就要生成),订单流水号是存在自增ID 的表里的,然后统计这个流水,就好解决了吧!
  相关解决方案