mysql处理高并发,防止库存超卖
来源:互联网 发布:jdk 8u60 linux x32 编辑:程序博客网 时间:2024/05/22 14:14
1、事务处理
一般情况,事务处理都可以解决
2、每减少库存对应一个订单流水号(这个订单流水号在生成减少库存这个用户动作时就要生成),订单流水号是存在自增ID的表里的,然后统计这个流水,就好解决了。
例如:总库存:4个商品
请求人:a,1个商品;b,2个商品;c:3个商品
方法一、 beginTranse(开启事务)
try{
//quantity 为请求减掉的库存数量
$dbca->query('update s_store set amount = amount-quanity where postID=12345');
$result = $dbca->query('select amount from s_store where postID =12345');
if(result->amount <0){
throw new Exception('库存不足');
}
}catch($e Exception){
rollBack(回滚)
}
commit(提交事务)
方法二、beginTranse(开启事务)
try{
//quantity 为请求减掉的库存数量
$dbca->query('update s_store set amount = amount-quanity where amount>=quanity and postID = 12345');
}catch($e Exception){
rollBack(回滚)
}
commit(提交事务)
个人主页
0 0
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- mysql处理高并发,防止库存超卖
- synchronized
- sql语句优化
- Gradle 修改本地仓库的位置
- javaScript、css实现toast
- 2017/2/22 学习css的第一天
- mysql处理高并发,防止库存超卖
- ssm 框架整合
- 设计模式6大规则
- leetcode----Add Two Numbers
- C# 路径拼接(将多个字符串组合成一个路径)
- Java IO流学习总结
- condition_variable与多线程,互斥锁
- Loadrunner之HTTP接口测试脚本实例
- OTA 简介和常见源码目录-1