一、什么是乐观锁
乐观锁,总假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候都会判断一下在此期间别人有没有去更新这个数据,在此通过使用版本号version去实现。乐观锁适用于写比较少的情况下(多读情景,可提高吞吐量),即冲突很少发生的时候,这样可以省去锁的开销,加大了系统的整个吞吐量;如果是多写的情形,一般会经常产生冲突,这就导致上层应用会不断进行retry,这样反倒降低了性能,所以一般多写的场景下用悲观锁更合适。
二、MybatisPlus如何实现乐观锁
1,在实体类version属性添加@version注解

2,在配置类中添加插件,在此特别强调MybatisPlus从3.40版本换了方式

乐观锁是一种在读取数据时不加锁,但在更新时检查在此期间数据是否被其他事务修改的机制。主要用于多读场景,提高系统吞吐量。在MybatisPlus中,可以通过在实体类中添加@Version注解来实现乐观锁。配置类中添加插件是实现乐观锁的关键,但需要注意MybatisPlus 3.4.0以后的版本变化。
218

被折叠的 条评论
为什么被折叠?



