多版本并发控制(Multi-Version Concurrency Control)是MySQL的InnoDB引擎实现隔离级别的一种具体方式。 它可以实现提交读和可重复读两种级别的隔离。 未提交读太简单,不需要用MVCC,可串行化太难,只用MVCC解决不了。 MVCC的基本思想: 在读写锁中,读和读 ...
分类:
数据库 时间:
2020-05-14 01:17:48
阅读次数:
70
Set接口 Set集合: 无序,不可重复的集合 ,(集合不包含一对元素e1和e2,使得e1.equals(e2)返回true),并且最多一个空元素null。 Set接口中,相比Collection父接口,没有定义额外的方法。 无序性: 不等于随机性,即在遍历输出中是存在某种顺序的。List为有序集合 ...
分类:
其他好文 时间:
2020-05-14 01:11:25
阅读次数:
54
List接口 List接口:元素有序,可重复,集合中每个元素都有其对应的索引。 常用实现类有:ArrayList、LinkedList、Vector。 ArrayList源码 JDK 1.7情况下: 使用空参构造器创建集合,底层创建了长度为10的Object类型数组elementData。 扩容机制 ...
分类:
其他好文 时间:
2020-05-12 20:42:59
阅读次数:
71
介绍 要聊事务,不可避免的要提到数据库事务的四大特性:ACID atomic consistence isolation durability 先放一个表格,看看4个隔离级别会出现的各种问题,网上的解释一大堆。看完后还是一脸懵逼,感觉懂了,又好像没懂。因为没有具体的演示例子,索性自己尝试复现这几个问 ...
分类:
其他好文 时间:
2020-05-12 11:46:10
阅读次数:
75
总览 MySQL事务隔离级别 read uncommitted 读取未提交的数据 read committed 读取提交的数据 repeatable read 可重复读 serializable 串行化 常见问题 更新丢失————事务A的操作被事务B覆盖 脏读————事务A读取了事务B已经修改但尚未 ...
分类:
数据库 时间:
2020-05-11 18:44:02
阅读次数:
73
有序集合(sorted set)用于存储多个字符串元素,它是在集合(set)的基础上给每个元素增加了一个用于 排序的字段(SCORE) ,元素同样不可重复,可以根据分数索引获取元素,此外,提供了根据score获取指定范围以及排序功能 常用命令 添加 zadd :添加数据,返回元素个数 查询 zran ...
分类:
其他好文 时间:
2020-05-11 01:28:27
阅读次数:
86
前提概要 什么是MVCC 什么是当前读和快照读? 当前读,快照读和MVCC的关系 MVCC实现原理 隐式字段 undo日志 Read View(读视图) 整体流程 MVCC相关问题 RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同? 一、前提概要 什么是M ...
分类:
Web程序 时间:
2020-05-11 00:49:30
阅读次数:
65
前提概要 什么是MVCC 什么是当前读和快照读? 当前读,快照读和MVCC的关系 MVCC实现原理 隐式字段 undo日志 Read View(读视图) 整体流程 MVCC相关问题 RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同? 一、前提概要 什么是M ...
分类:
Web程序 时间:
2020-05-11 00:48:02
阅读次数:
78
事务分为三个主要知识点,分别是基本属性,并发事务处理带来的问题,以及事务的隔离级别。 一、事务的基本属性 1. 原子性(Atomicity) 事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全不执行 2. 一致性(Consistent) 在事务开始和完成时,数据都必须保持一致状态,这意味着 ...
分类:
数据库 时间:
2020-05-10 13:11:48
阅读次数:
66
集合概述 面向对象语言对事物的体现都是以对象的形式描述。为了方便对多个对象的操作,就要对对象进行存储(就像数组)。但是用数组来存储对象有一些弊端:数组的主要弊端:1.长度不可以修改2.数组提供的方法非常有限,对于数据的添加、删除、插入等操作,非常不便。3.数组存储数据的特点:有序,可重复。对于无序、 ...
分类:
编程语言 时间:
2020-05-04 19:27:44
阅读次数:
67