数据库的乐观锁和悲观锁是什么?怎么实现的?使用场景?

93 阅读1分钟

悲观锁

默认会发生冲突,在查询结束,就将记录锁起来,直到事务结束解锁;实现原理是用数据库中的锁。

乐观锁

默认不会发生冲突,等到等到提交事务才检查数据完整性;实现原理是版本号机制或者CAS算法。

使用场景

写操作少用乐观锁,写操作多用悲观锁。