在db层面使用唯一主键约束、乐观锁、悲观锁来实现
唯一索引
唯一索引相当于业务字段的ID如果重复操作业务ID,之后的操作就不会被执行
乐观锁or悲观锁
指在执行数据操作时加锁,其他时间不加锁,因此相比于整个执行悲观锁流程来说,效率更高
乐观锁可以通过版本号和cas算法来实现
update table_name set version=version+1 where version=0;
悲观锁
对表全部上锁然后开始操作
在db层面使用唯一主键约束、乐观锁、悲观锁来实现
唯一索引
唯一索引相当于业务字段的ID如果重复操作业务ID,之后的操作就不会被执行
乐观锁or悲观锁
指在执行数据操作时加锁,其他时间不加锁,因此相比于整个执行悲观锁流程来说,效率更高
乐观锁可以通过版本号和cas算法来实现
update table_name set version=version+1 where version=0;
悲观锁
对表全部上锁然后开始操作