1 innodb的锁 1.1 s锁,即读锁,即share锁 1.2 x锁,即写锁,排他锁 1.3 s锁和x锁之间的关系 多个读锁可以共存,但是读锁不可以和写锁共存。写锁和写锁不可以共存。 1.4 间隙锁 就是对一段数据加锁,比如id大于3小于10的行加锁,防止插入id=4的数据。 2 innodb高 ...
分类:
数据库 时间:
2018-04-24 13:52:43
阅读次数:
177
-----xtrabackup备份简介xtrabackup是一个percona开源数据库备份软件,innobackupex则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁,对InnoDB存储引擎实现热备;备份原理: 开始... ...
分类:
其他好文 时间:
2018-04-21 19:43:22
阅读次数:
206
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table level locking);BDB存储引擎采用的是页面锁(page levellocking ...
分类:
数据库 时间:
2018-04-20 14:36:27
阅读次数:
174
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A, ...
分类:
其他好文 时间:
2018-04-18 14:23:26
阅读次数:
190
基础与控制原语 读写锁 与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。 读写锁状态: 一把读写锁具备三种状态: 1. 读模式下加锁状态 (读锁) 2. 写模式下加锁状态 (写锁) 3. 不加锁状态 读写锁特性: 读写锁是"写模式加锁"时, 解锁前,所有对该锁加锁的线程都会被阻塞。... ...
分类:
编程语言 时间:
2018-04-05 20:05:25
阅读次数:
210
此处源码分析,主要是基于读锁,非公平机制,JDK1.8。 问题: 1、ReentrantReadWriteLock是如何创建读锁与写锁? 2、读锁与写锁的区别是什么? 3、锁的重入次数与获取锁的线程数分别是用哪种方式记录的? 4、当队列中出现多个共享模式的线程节点连续排列时,那么当第一个共享模式的线 ...
分类:
其他好文 时间:
2018-04-05 11:40:47
阅读次数:
258
概述 zookeeper是一个高可用的分布式数据管理与协调框架,基于ZAB算法实现,主要解决分布式一致性问题。 https://www.cnblogs.com/felixzh/p/5869212.html 核心概念 节点 zk的命名空间是由一系列数据节点组成的,节点上可以包含数据。 类型 节点类型分 ...
分类:
其他好文 时间:
2018-04-03 12:52:57
阅读次数:
132
概念 xtrabackup是一种物理备份工具,通过协议连接到mysql服务端,然后读取并复制innodb底层的"数据块",完成所谓的"物理备份"。 支持对innodb进行热备、增量备份、差量备份。 支持对myisam进行温备,因为在备份myisam表时,会对myisam表添加读锁,而且不能对myis ...
分类:
其他好文 时间:
2018-03-17 20:31:09
阅读次数:
214
首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语s ...
分类:
编程语言 时间:
2018-03-17 12:13:00
阅读次数:
211
读写锁接口:ReadWriteLock,它的具体实现类为:ReentrantReadWriteLock 使用场景: 对于一个资源,读读能共存,读写不能共存,写写不能共存。 锁降级:从写锁变成读锁; 锁升级:从读锁变成写锁。 ReentrantReadWriteLock不支持锁升级,支持锁降级 会死锁 ...
分类:
编程语言 时间:
2018-03-14 20:45:45
阅读次数:
213