PHP相关系列 - 商品秒杀库存问题
2014-12-08 21:31
330 查看
库存问题一直是电子商务一个头疼的话题,我们开始做网上销售商品时也经常遇到库存为负,出现超卖的问题,相信很多人也遇到过,特别是秒杀活动中.防止这个问题首先要在mysql操作前拦掉一些并发,如用Beanstalkd之类的队列工具,这里只说下mysql层面怎么防止超卖.
乐观锁
#buy_num# : 购买数
#id# : 商品id
update table set quantity=quantity - #buy_num# where id = #id# and quantity >= #buy_num#;
关键点在where里的quantity >= #buy_num#,这样只有库存大于等于购买数的时候才能执行成功.从而避免了库存出现负数
乐观锁
#buy_num# : 购买数
#id# : 商品id
update table set quantity=quantity - #buy_num# where id = #id# and quantity >= #buy_num#;
关键点在where里的quantity >= #buy_num#,这样只有库存大于等于购买数的时候才能执行成功.从而避免了库存出现负数
相关文章推荐
- PHP相关系列 - 商品秒杀库存问题
- PHP相关系列 - 商品秒杀库存问题
- PHP相关系列 - 商品秒杀库存问题
- PHP相关系列 - php缓存扩展频繁存储/读取数组引发CPU过高问题排查手记(php-memcache为例)
- php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
- php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
- php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
- php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
- php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
- PHP相关系列 - PHP JSON_ENCODE问题
- PHP相关系列 - PHP中关于COOKIE域问题
- PHP商品秒杀倒计时
- LAMP架站相关问题:phpmyadmin 无法载入 mcrypt 扩展, 请检查 PHP 配置
- php调用DotNet编写的WebService并处理相关编码转化问题
- 同时安装SQL2000与SQL2005系列相关问题
- PHP问题解答系列(1):PHP运行环境搭建问题
- PHP Session有效期的相关问题
- PHP 类商品秒杀计时实现代码
- PHP问题解答系列(3):PHP 与 IIS 集成安装的系列文章目录
- PHP商品秒杀倒计时