博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
乐观锁 与 悲观锁 来解决数据库并发问题
阅读量:6863 次
发布时间:2019-06-26

本文共 393 字,大约阅读时间需要 1 分钟。

1. 背景

学习、工作用了不少数据库写sql还是不成问题。

在解决数据库并发冲突时,更多的是在程序编程逻辑中加锁,来解决业务中可能的数据库并发更新问题。

并不是使用数据库或者ORM框架来处理并发冲突。悲观锁、乐观锁 是一种解决数据库并发的思路。

2. 悲观锁与乐观锁介绍

         悲观锁:持"悲观态度",假设会发现并发更新冲突,屏蔽一切可能违反数据完整性的操作。在更新操作时,先进行加锁(使用数据库提供的锁机制)来从底层保证数据的正确性。

         乐观锁:持"乐观态度",假设多事务在处理时不会彼此相互影响。各事务在不产生锁的情况下处理各自影响的数据,在提交数据更新之前,每个事务先检查该事务更改数据后,有没有其他事务又修改了该数据。如果其他事务有更新的话,正在提交的事务会进行回滚。返回错误信息,用于可以自行处理。

         悲观锁适用于更新操作出现并发更新数据多的情况,可以防止数据丢失、脏读。乐观锁,反之。

转载地址:http://yaqyl.baihongyu.com/

你可能感兴趣的文章
Java中关于nextInt()、next()和nextLine()的理解
查看>>
Flask的基本操作知识
查看>>
Android -- 真正的 高仿微信 打开网页的进度条效果
查看>>
ArrayList<HashMap<String, Object>>使用示例!
查看>>
Windows Azure 网站开发Stacks支持
查看>>
Android 5.0新控件——FloatingActionButton(悬浮按钮)
查看>>
每天一个linux命令(6):dos2unix unix2dos
查看>>
ObjectQuery查询及方法
查看>>
使用jemeter手工编写注册、登陆脚本 运用 fiddler (三)
查看>>
uva 10288 Coupons (分数模板)
查看>>
使用docker的kms服务器激活office2016专业增强版
查看>>
Redis
查看>>
程序员需要淡定
查看>>
大整数算法[11] Karatsuba乘法
查看>>
为什么可以用while(cin)?
查看>>
Cisco 交换机与路由器故障处理方法分享
查看>>
linux运行级别
查看>>
Debian(Linux)+XAMPP(LAMPP)+Zend Studio + PHP +XDebug 完整的开发环境配置方法。
查看>>
Python字符集编码和文件读写 [转]
查看>>
COGS728. [网络流24题] 最小路径覆盖问题
查看>>