码迷,mamicode.com
首页 > 其他好文 > 详细

简述各种锁

时间:2019-04-24 17:28:18      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:mit   其他   用户   多个   style   另一个   提前   mvcc   span   

乐观锁
? 乐观锁,访问数据时不提前加锁,也就是说在一个用户在修改数据未进行提交的时候,其他人查看其数据可以看到他未提交数据。若他的操作进行了回滚那么另一个看到的数据就为幻读。
 
悲观锁
? 悲观锁,在一个用户读取数据未进行提交时,其他客户查询看到的是其原有数据,也没有办法对其数据进行修改。只有在用户提交后,其他用户才可以看到其修改后数据。
 
排他锁
? 保证在多事务操作时,数据的一致性。
 
共享锁
? 保证在多事务工作期间,数据查询时不会被阻塞。
 
事务的特性:
1. 原子性:事务被执行看做一个整体,要么都成功,要么都失败
2. 一致性:数据库的状态从一个一致的状态变成另一个一致的状态
3. 隔离性:多个事务并发,一个事务执行不影响其他事务的执行
4. 持久性:事务一旦被提交,对数据库的修改就是永久性的
  
数据库的隔离级别:
1. 读未提交   READ  UNCOMMITTED
2. 读已提交   READ  COMMITTED
3. 可重复读   REPEATABLE READS
4. 可序列化   SERIALZABLE
 
MVCC机制:就相当于 乐观锁+共享锁+排他锁

简述各种锁

标签:mit   其他   用户   多个   style   另一个   提前   mvcc   span   

原文地址:https://www.cnblogs.com/yanhui1995/p/10763501.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!