标签:处理 插入数据 order 分布 自动 获取 cas HERE 更新
1.业务唯一编号:
当系统接收到唯一的no时,先判断no对应的状态是否处理过,处理过则直接返回;防止并发的情况,需要在判断处理的地方加锁,
多系统部署,需要加分布式锁 或者在事务中使用 select for update 获取行级锁,事务提交后会自动释放行级锁
或者使用乐观锁 :
update t_order set status = 1 where order_id = trade_no where status = 0;
//上面的update操作会返回影响的行数num
if(num==1){
//表示更新成功提交事务;
}else{
//表示更新失败回滚事务;
}
类似于cas机制
2.数据库唯一索引
插入数据出错,直接回滚事务,并返回信息
标签:处理 插入数据 order 分布 自动 获取 cas HERE 更新
原文地址:https://www.cnblogs.com/Mr-Rocker/p/11847006.html