1、首先说说悲观锁,就是数据库层面直接采用类似for update的读法,锁住读取的记录,那么别人再读取时就不能进行更新,如果这条记录不存在并发操作的可能性,那没问题,可是如果有并发的修改,那么后面一个人的修改就必须等待前一个修改完成释放后才可以(普通的select不受影响),那么大并发下就不能采用这种方式了
(如果mysql测试需要关闭自动提交功能set autocommit=0;)
2、乐观锁,并发下,每个事物都可以进行更新,但是是条件的更新,比如数据库表有个字段version,进行干呢更新时+1进行提交,where语句中判断数据库中的这个字段的值是否小于提交的值,小于的情况下才进行干呢更新,那么程序根据更新的条数就可以判断出这条记录是否被其他人更新过了(因为其他人更新过了version值就大于或者等于自己要提交的值了),如果返回1那么好了,更新成功,如果返回0,那么需要重新读取记录进行更新的操作(同样需要将读取到的version+1后进行提交,如此重复)。那么这样就可以避免并发下的等待问题了。
相关推荐
本文将详细讲解几种常见的锁机制:悲观锁、乐观锁、共享锁和排他锁,并简要介绍分布式锁以及锁降级原理。 1. **悲观锁**: 悲观锁是一种保守的策略,它假设在读取数据时,数据极有可能被其他线程修改。因此,悲观...
MATLAB的简要概述
linux常用命令大全常用的Linux命令及其简要说明常用的Linux命令及其简要说明常用的Linux命令及其简要说明常用的Linux命令及其简要说明常用的Linux命令及其简要说明常用的Linux命令及其简要说明常用的Linux命令及其...
div 简要描述 div简要描述 这个是我的收集的一个资料 希望大家看看
虚拟机 教程 简要 容易理解 对你会很有帮助
LVM简要操作说明;含创建和拓展实操例子。 LVM --logical volume manager 逻辑卷管理器。 LVM的优点是可以动态调整存储空间。 LVM由以下四部分组成: PE: physical extend 物理扩展块 属于逻辑概念 创建VG后自动生成...
### 软件功能简要总结 #### 一、安全措施 为了确保软件使用的安全性,本软件采取了一系列的安全措施: - **授权方式**:对于不同的使用主体,采取不同的授权方式,比如采用加密狗或者注册码的形式,以确保软件不被...
### 外观设计简要说明模板知识点解析 #### 一、概述 在外观设计专利申请过程中,撰写简要说明是一项非常重要的步骤。简要说明旨在清晰地表达申请人的设计意图和技术方案,帮助审查员理解外观设计的特点及其应用...
五一奖章简要事迹汇编12篇.pdf
2024Java 的简要介绍及开发环境的搭建(超级详细)2024Java 的简要介绍及开发环境的搭建(超级详细)2024Java 的简要介绍及开发环境的搭建(超级详细)2024Java 的简要介绍及开发环境的搭建(超级详细)2024Java 的...
AIX简要中文资料,AIX简要中文资料,AIX简要中文资料
- **用途**:简要介绍本次会议的核心议题。 - **填写要点**:应清晰明了地概括会议主题,便于快速了解会议背景。 #### 2. 会议基本信息区 - **会议时间**:记录会议的具体召开日期和时间。 - **会议地点**:指明...
AudioTools软件简要操作说明
Android进程间通信(IPC)机制Binder简要介绍和学习计划
DCM简要使用说明
它通常包括CRM(Customer Relationship Management,客户关系管理)功能,以便记录和分析客户行为,提供个性化的服务。 2. 计费:该模块负责计算客户的账单,处理收费和退款事务,同时进行账务稽核,确保财务数据的...
EIS和Tafel数据简要分析修改 EIS(Electrochemical Impedance Spectroscopy,电化学阻抗谱scopy)是一种电化学分析技术,用于研究电极过程的机理和动力学。Tafel是一种电化学测试方法,用于研究电极的腐蚀机理和...
sanban简要使用说明
VB简要教程,VB语法简要介绍 VB简要教程是学习VB编程语言的入门指南,该教程涵盖了VB的基本概念、语法、开发环境、控件、事件驱动编程机制等内容。通过本教程,读者可以快速掌握VB编程语言的基础知识,并具备开发...
博域通讯基于软交换架构多媒体交换机的IP软交换呼叫中心平台产品BYIPCC20的数据库spbxccdb的简要数据字典 本文档是关于博域通讯基于软交换架构多媒体交换机的IP软交换呼叫中心平台产品BYIPCC20的数据库spbxccdb的...