在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两 种基本的锁类型来对数据库的事务进行并发控制。 一、事务 ...
分类:
数据库 时间:
2020-04-21 00:24:00
阅读次数:
96
一、事务的四大特性(ACID) 1.原子性 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 2.一致性 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行 ...
分类:
数据库 时间:
2020-04-19 11:07:05
阅读次数:
60
Semaphore 1、介绍 Semaphore是一个计数信号量,可以控同时访问的线程个数,它的本质是一个"共享锁"。 信号量维护了一个信号量许可集。线程可以通过调用acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通 ...
分类:
其他好文 时间:
2020-03-31 18:57:22
阅读次数:
55
如下: 集群管理:监控节点存活状态,运行请求等。 主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 zookeeper 可以协助完成这个过程。 分布式锁:zookeeper提供两种锁:独占锁、共享锁。独占锁即一次只能占有一个线程使用资源,共享锁是读写 ...
分类:
其他好文 时间:
2020-03-26 19:10:31
阅读次数:
60
并发控制 并发情况下,需要做一些控制(一般是加锁),保证共享数据的一致性。 并发操作数据库时,需要给数据库中的数据加锁,确保数据库中数据的一致性。 数据库锁的常见分类 按使用方式来分:悲观锁、乐观锁 按锁级别来分:共享锁、排它锁(主要是这2种,当然还有其他的) 按锁粒度来分:行级锁、表级锁、页级锁 ...
分类:
数据库 时间:
2020-03-25 21:47:21
阅读次数:
82
1 Checksum 1.1 checksum原理 checksum table的原理是对表中的数据进行一行一行的较验和计算,在执行checksum命令时,表会被加一个读锁(read lock),因此对于大表,这是一个很耗时的过程。 读锁:又叫S锁/共享锁;当MySQL的一个进程为某一表开启读锁之后 ...
分类:
数据库 时间:
2020-03-21 17:51:06
阅读次数:
67
读锁也叫共享锁 写锁也叫独享锁 读锁写锁都会造成死锁的问题 class MyCache{ private volatile Map<String,String> map = new HashMap<>(); private ReadWriteLock rwLock = new ReentrantRe ...
分类:
其他好文 时间:
2020-03-15 19:15:45
阅读次数:
77
答案: 封锁技术通常采用两种锁:排他锁(x锁),共享锁(S锁)。 X锁:如果事务对数据R实现X锁则其他事务必须要等待该事物解除X锁之后才能对该数据进行封锁。 S锁:如果事务对数据R实现S锁,则其他事务仍可以对该数据加S锁,但在事务对该数据没有解除S锁之前,其他任何事务不能对该数据加X锁。 SQL的数 ...
分类:
数据库 时间:
2020-03-13 21:02:49
阅读次数:
181
一、ORACLE里锁有以下几种模式: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share 共享锁(S):阻止其他DML操作 5:S/Row-X 共享行专用(SRX):阻止其他事务操作 6:exclusive 专用(X ...
分类:
数据库 时间:
2020-03-12 12:42:20
阅读次数:
79
转自 https://www.cnblogs.com/hustzzl/p/9343797.html 1. Java锁的种类 在笔者面试过程时,经常会被问到各种各样的锁,如乐观锁、读写锁等等,非常繁多,在此做一个总结。介绍的内容如下: 乐观锁/悲观锁 独享锁/共享锁 互斥锁/读写锁 可重入锁 公平锁/ ...
分类:
编程语言 时间:
2020-03-06 12:52:14
阅读次数:
76