mysql 乐观锁

乐观锁

用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即为数据增加一个版本标识,一般是通过为数据库表增加一个数字类型的 “version” 字段来实现。当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值加1。当我们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比对,如果数据库表当前版本号与第一次取出来的version值相等,则予以更新,否则认为是过期数据。

举例:

1、数据库表三个字段,分别是id、value、version
select id,value,version from TABLE where id = #{id}
2、每次更新表中的value字段时,为了防止发生冲突,需要这样操作

update TABLE
set value=2,version=version+1
where id=#{id} and version=#{version}


作者:蒋老湿
链接:https://juejin.im/post/5b82e0196fb9a019f47d1823
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

没有更多推荐了,返回首页