mysql乐观锁,最基本的方案就是在数据库加一个version 字段
操作的时候进行加1
如果有两个请求同时操问一条数据
那么先请求的 接口 修改内容 为
update kunkun_table set content = "炒粉" , version = 2 where id = 1
and version = 1 //版本同时
为方便演示在用sql直接执行
然后版本加1
另一个请求再次修改为
update kunkun_table set content = "放鸡精" , version = 2 where id = 1
and version = 1 // 已经修改不到上次的请求 驳回该请求
得到数据为
从而实现乐观锁 不过乐观锁只能保证事务的 一致性和隔离性,需要注解
@Transactional 来保证原子性