diff --git a/docs/notes/Redis.md b/docs/notes/Redis.md
index 686f6ec9..4b5b5e4a 100644
--- a/docs/notes/Redis.md
+++ b/docs/notes/Redis.md
@@ -317,11 +317,11 @@ int dictRehash(dict *d, int n) {
跳跃表是基于多指针有序链表实现的,可以看成多个有序链表。
-
+
在查找时,从上层指针开始查找,找到对应的区间之后再到下一层去查找。下图演示了查找 22 的过程。
-
+
与红黑树等平衡树相比,跳跃表具有以下优点:
@@ -472,7 +472,7 @@ Redis 服务器是一个事件驱动程序。
Redis 基于 Reactor 模式开发了自己的网络事件处理器,使用 I/O 多路复用程序来同时监听多个套接字,并将到达的事件传送给文件事件分派器,分派器会根据套接字产生的事件类型调用相应的事件处理器。
-
+
## 时间事件
@@ -525,7 +525,7 @@ def main():
从事件处理的角度来看,服务器运行流程如下:
-
+
# 十一、复制
diff --git a/docs/notes/pics/036c0e07-0725-4b3c-a684-ab3b16ca7b86.png b/docs/notes/pics/036c0e07-0725-4b3c-a684-ab3b16ca7b86.png
new file mode 100644
index 00000000..fbc8ce0b
Binary files /dev/null and b/docs/notes/pics/036c0e07-0725-4b3c-a684-ab3b16ca7b86.png differ
diff --git a/docs/notes/pics/16eea7d2-f5f5-4180-93be-dba7d4e48f5d.png b/docs/notes/pics/16eea7d2-f5f5-4180-93be-dba7d4e48f5d.png
new file mode 100644
index 00000000..2168c77d
Binary files /dev/null and b/docs/notes/pics/16eea7d2-f5f5-4180-93be-dba7d4e48f5d.png differ
diff --git a/docs/notes/pics/2c437953-08b1-47b9-a780-7dfdc90a3b6f.png b/docs/notes/pics/2c437953-08b1-47b9-a780-7dfdc90a3b6f.png
new file mode 100644
index 00000000..f45b61c2
Binary files /dev/null and b/docs/notes/pics/2c437953-08b1-47b9-a780-7dfdc90a3b6f.png differ
diff --git a/docs/notes/pics/bae98438-7db6-41a6-893e-8813248f2f92.jpg b/docs/notes/pics/bae98438-7db6-41a6-893e-8813248f2f92.jpg
new file mode 100644
index 00000000..53fda104
Binary files /dev/null and b/docs/notes/pics/bae98438-7db6-41a6-893e-8813248f2f92.jpg differ
diff --git a/docs/notes/pics/d5dfeb74-a27a-43b8-9121-191d3cb75198.png b/docs/notes/pics/d5dfeb74-a27a-43b8-9121-191d3cb75198.png
new file mode 100644
index 00000000..f1755f03
Binary files /dev/null and b/docs/notes/pics/d5dfeb74-a27a-43b8-9121-191d3cb75198.png differ
diff --git a/docs/notes/数据库系统原理.md b/docs/notes/数据库系统原理.md
index 2b5339fd..68e560f6 100644
--- a/docs/notes/数据库系统原理.md
+++ b/docs/notes/数据库系统原理.md
@@ -47,7 +47,7 @@
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。
-
+
## ACID
@@ -94,25 +94,27 @@ MySQL 默认采用自动提交模式。也就是说,如果不显式使用`STAR
T1 和 T2 两个事务都对一个数据进行修改,T1 先修改,T2 随后修改,T2 的修改覆盖了 T1 的修改。
-
+
## 读脏数据
T1 修改一个数据,T2 随后读取这个数据。如果 T1 撤销了这次修改,那么 T2 读取的数据是脏数据。
-
+
## 不可重复读
T2 读取一个数据,T1 对该数据做了修改。如果 T2 再次读取这个数据,此时读取的结果和第一次读取的结果不同。
-
+
+
## 幻影读
T1 读取某个范围的数据,T2 在这个范围内插入新的数据,T1 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。
-
+
+
----