乐观锁
乐观锁假设并发冲突概率比较小,因此在操作数据之前不加锁,只在操作提交的时候检测冲突。
工作原理
乐观锁一般通过以下两种方式实现:
版本号
- 每条记录维护着自己的版本号
- 读取记录时,读取版本号
- 对记录进行操作
- 更新记录的时候,再次读取版本号,检查是否与读取时的版本号一致
- 如果一致,则更新记录,同时版本号加一
- 如果不一致,则重新读取记录并尝试再次进行更新
时间戳
同版本号思路一致,知识将版本号改成了时间戳
适用场景
适合读多写少或者冲突概率较低的场景。
乐观锁假设并发冲突概率比较小,因此在操作数据之前不加锁,只在操作提交的时候检测冲突。
乐观锁一般通过以下两种方式实现:
同版本号思路一致,知识将版本号改成了时间戳
适合读多写少或者冲突概率较低的场景。