On this page
锁
乐观锁
乐观锁指的是在获取数据时,乐观的表示数据不会被修改,所以不会在获取数据时就上锁,只有在最后写入数据时,去判断数据是否被修改过
实现
CAS
使用数据来实现
给数据添加一个版本字段version,更新的时候同时将version字段+1,并且更新条件也需要带上version
update table_xxx set name='小明',version=version+1 where version=1 a使用情况
在读取较多,写入较少的情况下使用
悲观锁
悲观锁指的是在获取数据的时候,认定数据会被修改,在获取数据时就上锁
使用情况
在写入较多的情况下使用