数据库的乐观锁和悲观锁
来源:互联网 发布:梦幻花园无法加载 网络 编辑:程序博客网 时间:2024/04/30 21:02
前两天遇到一个数据库并发的问题,查询资料以后大致发现有两种机制可以解决
乐观锁
根据名字就可以看出,表现出大胆乐观的态度,主要的引入方法分为两种
1.版本号控制
在数据库中添加 versions 字段,先对于数据进行查询,若此时的版本为1,每次进行数据库操作的时候自增1,在进行数据库更新的时候再次查询该主键的版本号,若不为1,则返回
2.添加时间戳
其实和第一种方法类似
乐观锁的机制和svn的版本号是类似的,如果需要更新的与当前版本号不一致则产生冲突
悲观锁
顾名思义,在进行每一次数据库操作的时候都进行了锁表或者锁行的方法,如果枷锁失败,则说明该记录正在被修改,则当前查询排队或者抛出异常,如果成功加锁,则可以对该条记录进行修改,等事物完成以后进行解锁
0 0
- 数据库的悲观锁和乐观锁
- 数据库的乐观锁和悲观锁
- 数据库的乐观锁和悲观锁
- 数据库的悲观锁和乐观锁
- 数据库的乐观锁和悲观锁的理解
- 数据库悲观锁和乐观锁
- 数据库悲观锁和乐观锁
- 数据库乐观锁和悲观锁
- 数据库悲观锁和乐观锁
- 数据库悲观锁和乐观锁
- 数据库悲观锁和乐观锁
- 数据库悲观锁和乐观锁
- 数据库悲观锁和乐观锁
- 数据库悲观锁和乐观锁简述
- 数据库中的乐观锁和悲观锁
- 数据库中悲观锁和乐观锁
- 数据库悲观锁和乐观锁
- 小议数据库的悲观锁和乐观锁
- Android支持库中Fragment的使用及参数传递
- ArchLinux-- OpenStreetMap瓦片服务器的新宿主
- BZOJ 1191: [HNOI2006]超级英雄Hero
- HDU2274-Magic WisKey
- 数字构图
- 数据库的乐观锁和悲观锁
- 代码去除标题和状态栏
- 【c++】处理语句
- 【Pycharm教程】(二)设置字体大小
- pat-bl-1033
- 上下文3种
- 问题 D: 士兵排阵(中位数:贪心思想)
- 两个数的排列组合
- NFC开发