`
ruby8
  • 浏览: 207163 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

乐观离线锁原理

 
阅读更多

实现方式:

通过在UPDATE/DELETE语句中增加版本号来实现锁机制。

 

解释:

这种锁不是长时间的锁,而且一个业务事务中可能同时包含了几个系统事务。而乐观是相对悲观而言的,表示预计冲突不总是发生,以其得到最大的性能。

 

场景(举例):

不使用锁,那么就会产生不一致问题,如两个人一起编辑同一个文章,后一个提交的人就会覆盖前一个人的修改。

 

实现原理:

通过在文章表里加入一个version字段,编辑之初从数据库中取出此值,保存在session中(或者memcached),编辑结束后UPDATE version = version + 1, ... WHERE version = ...来确保一致性,如果之前已经有人提交了,则version已经加一,那么再使用session里的version值进行比较,WHERE version = ... 将不再成立,影响行数为0,数据库回滚。

分享到:
评论

相关推荐

    【Java设计模式】乐观离线锁模式

    Java中的乐观离线锁模式专门用于管理并发数据修改,无需长时间的数据库锁,从而提高系统性能和可扩展性。 ## 二、详细解释及实际示例 1. **实际示例**: - 想象一个图书馆,有多个用户借阅和归还书籍。图书馆不是...

    电子政务-带线锁的盒式电器锁.zip

    盒式电器锁通常配备有线锁,这是一种基于机械原理的安全机制,通过钥匙控制锁芯的旋转,实现开闭功能。线锁的优势在于其灵活性,可以根据需要锁定多个设备或门,形成连锁效应,进一步加强了安全性。在电子政务系统中...

    电子-一种电动推杆机的联接线锁紧机构

    标签“资料 文档”表明这可能是一份详细的技术文档或研究报告,内容可能包括机构的设计原理、结构图、材料选择、制作工艺、性能测试以及实际应用案例等。文档《行业分类-电子政务-一种电动推杆机的联接线锁紧机构....

    八路抢答器 内附有原理图

    - **8线一8线锁存优先编码器**:74LS273编码器能处理多个同时输入信号,但只对优先级最高的一个进行编码。 - **译码显示电路**:CH233数显译码器将编码器的二进制输出转化为数码管所需的驱动信号,使得数码管能够...

    在分布式事务中实现基于Oracle PLSQL UL LOCK的悲观离线锁

    总结来说,基于Oracle PL/SQL的悲观离线锁是一种实用的并发控制策略,尤其在分布式系统中,配合分布式协调器可以有效防止数据冲突。然而,它也有其局限性,如可能导致阻塞和性能下降。因此,需要根据具体应用场景...

    事业线 v1.3.zip

    事业线锁可以在人离开电脑面前的时候,自动将事业线锁住,防止他人操作事业线。 安全性能 事业线聊天信息不经过外部服务器,完全留在自己电脑上,本质上做到安全,另外事业线的聊天信息还采用了AES加密保存。 ...

    pid调节器沾沾自喜

    在安全性方面,9SIB系列电动调节阀具备1500V的耐压能力,特制的线锁能有效锁紧电缆线,防止意外松脱。此外,设计简洁的单相电源和外接线路使得配套安装变得异常简便,无论是碟阀还是球阀,都能轻松应对。独特的球形...

    TOYI阀门电动装置说明书.pdf

    - 主箱体、开度计、电源/信号线线锁、手动轴橡胶盖、输出轴、变速箱盖、电气箱盖、电气接线箱盖、手动摇柄轴孔等。 - 提供了各型号外形尺寸的示意图,便于安装和选型。 5. TOYI阀门电动装置的安装注意事项: - ...

    Forth-早期岁月(Forth历史和演进过程回顾)

    - **发展**: 这一时期,Forth语言进一步完善,包括引入了“线锁码”和“固定点算术”等功能。这些增强使得Forth语言在处理高精度计算方面更加出色。 #### 三、Forth语言的关键特性和组成部分 - **解译器**: 解释并...

    EPSON说明书

    - **安装线锁**:使用线缆将投影机固定于墙壁或天花板。 - **防盗投影镜头**:防止镜头被非法拆卸。 #### 配置菜单 **配置菜单**:提供了丰富的设置选项,如图像、信号、设定等。 - **图像菜单**:调整颜色、亮度...

Global site tag (gtag.js) - Google Analytics