乐观锁和悲观锁

乐观锁和悲观锁的意思
同一时间并发对同一个数据对象进行更新的问题,叫做丢失更新
乐观锁操作方法是在数据后面加一个version字段,当需要更新的时候,先查出version的值,更新的时候where条件判断version是否改变,如果没改变,说明没有冲突
悲观锁是在mysql事务基础上,在select sql后面加一个for update,确保锁住当前行
要使用悲观锁,必须关闭mysql数据库的自动提交属性,因为MySQL默认使用autocommit模式,也就是当你执行一个更新操作后,MySQL会立即将结果进行提交
共享锁,事务中给语句后面添加 lock in share mode
排它锁,事务中给语句添加 for update
悲观锁特点
为数据处理的安全提供了保证
效率上,由于处理加锁的机制会让数据库产生额外开销,增加产生死锁机会
在只读型事务中由于不会产生冲突,也没必要使用锁,这样会增加系统负载,降低并行性

相关推荐

  1. 乐观悲观

    2024-06-16 02:20:03       11 阅读
  2. 乐观悲观

    2024-06-16 02:20:03       8 阅读
  3. python乐观悲观

    2024-06-16 02:20:03       36 阅读
  4. 乐观悲观

    2024-06-16 02:20:03       20 阅读
  5. 面视题之——悲观乐观

    2024-06-16 02:20:03       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 02:20:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 02:20:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 02:20:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 02:20:03       20 阅读

热门阅读

  1. Spring框架的原理及应用详解(四)

    2024-06-16 02:20:03       8 阅读
  2. 2024.6.15

    2024-06-16 02:20:03       9 阅读
  3. 【LeetCode 5.】 最长回文子串

    2024-06-16 02:20:03       6 阅读
  4. Mac的m系列芯片安装虚拟机--简单流程

    2024-06-16 02:20:03       10 阅读
  5. git 如何拉取最新代码

    2024-06-16 02:20:03       8 阅读
  6. Nacos入门与实践

    2024-06-16 02:20:03       6 阅读
  7. 08:打印字符

    2024-06-16 02:20:03       5 阅读