悲观锁与乐观锁

简介: MP中使用

悲观锁

悲观锁是认为在用户操作数据的时候一定会发生数据 所以把当前操作的数据全锁起来

实际上依靠的是数据库的锁机制

首先要关闭mysql的自动提交事务

image.png
实际上起作用的语句就是这两个其中的一个image.png
当第一个查询到数据在的修改时 如果第二个 查询也要查询该数据 那么第二个就会进入阻塞状态 等待第一个提交事务

乐观锁

与悲观锁相反 每一次都认为没问题 那么就是所有人都能同时访问操作数据

但是就会有并发冲突 问题 那么怎么解决呢

引入版本号 在每次修改后 版本号都会自动递增

拿到数据的时候 同时拿到版本号

当我们操作完准备提交的时候 就会查询此时的版本号跟我们一开始拿到的版本号是否一致 一致才会提交

在mp里面如果需要使用乐观锁的步骤:

  1. 数据库的表必须添加version字段
  2. 添加乐观锁的拦截器

image.png

  1. 以后你执行update语句的时候记得实体类要设置当前version的值image.png
相关文章
|
19天前
|
消息中间件 安全 Java
什么是乐观锁、在哪用过乐观锁
什么是乐观锁、在哪用过乐观锁
25 0
|
3月前
|
SQL 数据处理 数据库
乐观锁和悲观锁
乐观锁和悲观锁
36 0
|
7天前
|
安全 Java 关系型数据库
乐观锁与悲观锁
【4月更文挑战第11天】乐观锁与悲观锁
11 3
|
7月前
|
Java API 数据库
什么是乐观锁,什么是悲观锁?
在互联网公司面试中,很多小伙伴都被问到关于锁的理解。今天,我给小伙伴们来聊一聊我对锁的理解,不管我们互斥锁、自旋锁、重入锁、读写锁、行锁、表锁等等等等这些概念,我把他们都归纳为两种类型,乐观锁和悲观锁。
91 0
|
2月前
|
关系型数据库 MySQL 数据处理
一文彻底理解乐观锁与悲观锁
一文彻底理解乐观锁与悲观锁
64 0
|
4月前
|
安全 关系型数据库 MySQL
悲观锁和乐观锁
悲观锁和乐观锁
|
7月前
|
负载均衡 Java
聊到悲观锁,是用什么来实现的呢?
优惠券服务是多实例部署形成的负载均衡集群
28 0
|
8月前
|
算法
悲观锁和乐观锁的区别
悲观锁和乐观锁的区别
198 0
|
9月前
|
XML 前端开发 Java
案例突破——悲观锁和乐观锁
案例突破——悲观锁和乐观锁
99 0
案例突破——悲观锁和乐观锁
|
9月前
|
NoSQL 算法 Java
乐观锁与悲观锁的实现
本文力求来通俗地讲讲编程中的乐观锁和悲观锁,以及分别是怎么实现的。
64 0
乐观锁与悲观锁的实现