说说MySQL的乐观锁和悲观锁

参考答案

1. MySQL的乐观锁

  • 每次去获取数据的时候,都认为别人不会修改、不会上锁。但是,在提交修改时,会判断下在此期间别人有没有修改这个数据。
  • MySQL 的乐观锁需要自己实现。一般在表里面添加一个 version 字段,每次修改成功值加 1。每次其他字段值的时候先对比,自己拥有的 version 和数据库现在的 version 是否一致,如果不一致,就可以返回失败,也可以进行重试。

2. MySQL的悲观锁

  • 每次去获取数据时,都认为别人会修改、每次都会上锁,以阻止其他线程获取数据,直到这个锁释放。
  • MySQL 的悲观锁,以 Innodb 存储引擎为例,将 MySQL 设置为非 autoCommit 模式。

 

以上,是MySQL面试题【说说MySQL的乐观锁和悲观锁】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧