公众号:架构师与哈苏
关注公众号进入it交流群! 公众号:架构师与哈苏 不定时都会推送一些实用的干货。。。

悲观锁

查出来的数据必须是根据索引查出来的,不然锁表。

# 语法
select * from table where id = 1 for update;

乐观锁

使用一个标识 cas 比较后替换
如果每次访问冲突概率小于 20%,推荐使用乐观锁,否则使用悲观锁。乐观锁的重试次 数不得小于 3 次。


select version from table;
# update 返回有影响行数表示成功,没有失败
update set name = "新名字" , version += 1 
where id = 1 and version = 上面查出来的version

posted on 2021-03-02 16:47  公众号/架构师与哈苏  阅读(38)  评论(0编辑  收藏  举报