乐观锁一般怎么实现

117次阅读
没有评论

乐观锁的核心不是先把数据锁住,而是更新时确认数据有没有被别人改过。适合读多写少、冲突概率不高的场景。

最常见的实现方式

最常见的是版本号方案。读取数据时带出 version,更新时执行类似 where id = ? and version = ? 的条件,并把版本号加一。

如果更新结果是 0 行,说明这条记录已经被别人改过,本次更新应当失败并由业务决定是否重试。

除了版本号还有什么办法

也可以用时间戳或状态字段做条件更新,但可读性和稳定性通常不如单独的版本号字段。只要能在更新时校验“我读取的还是不是最新版本”,本质上都属于乐观锁。

适用场景

库存扣减、账户资料编辑、后台配置修改这类并发不算极端、但又不能互相覆盖的场景,都很适合乐观锁。

一句话理解

乐观锁不是先锁住别人,而是提交时再确认这份数据是不是还属于你刚才读到的版本。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-03-18发表,共计345字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)