Skip to content

Commit bb294ce

Browse files
committed
change image
1 parent 153df8a commit bb294ce

20 files changed

Lines changed: 395 additions & 10 deletions

‎docs/JavaMultiThread.md‎

Lines changed: 352 additions & 2 deletions
Large diffs are not rendered by default.

‎docs/RedisStore.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,38 @@ AOF持久化主要在于将aof_buf缓冲区的数据同步到磁盘时会有I/O
108108

109109
### 什么是AOF文件追加阻塞?
110110
修改命令添加到aof_buf之后,如果配置是everysec那么会每秒执行fsync操作,调用write写入磁盘一次,但是如果硬盘负载过高,fsync操作可能会超过1s,Redis主线程持续高速向aof_buf写入命令,硬盘的负载可能会越来越大,IO资源消耗更快,所以Redis的处理逻辑是会对比上次fsync成功的时间,如果超过2s,则主线程阻塞直到fsync同步完成,所以最多可能丢失2s的数据,而不是1s。
111+
112+
### 什么是RDB-AOF混合持久化?
113+
114+
redis4.0相对与3.X版本其中一个比较大的变化是4.0添加了新的混合持久化方式。前面已经详细介绍了AOF持久化以及RDB持久化,这里介绍的混合持久化就是同时结合RDB持久化以及AOF持久化混合写入AOF文件。这样做的好处是可以结合 rdb 和 aof 的优点, 快速加载同时避免丢失过多的数据,缺点是 aof 里面的 rdb 部分就是压缩格式不再是 aof 格式,可读性差。
115+
116+
#### 开启混合持久化
117+
118+
4.0版本的混合持久化默认关闭的,通过aof-use-rdb-preamble配置参数控制,yes则表示开启,no表示禁用,默认是禁用的,可通过config set修改。
119+
120+
#### 混合持久化过程
121+
122+
了解了AOF持久化过程和RDB持久化过程以后,混合持久化过程就相对简单了。
123+
124+
混合持久化同样也是通过bgrewriteaof完成的,不同的是当开启混合持久化时,fork出的子进程先将共享的内存副本全量的以RDB方式写入aof文件,然后在将重写缓冲区的增量命令以AOF方式写入到文件,写入完成后通知主进程更新统计信息,并将新的含有RDB格式和AOF格式的AOF文件替换旧的的AOF文件。简单的说:新的AOF文件前半段是RDB格式的全量数据后半段是AOF格式的增量数据,如下图:
125+
126+
![img](../static/1075473-20180726181756270-1907770368.png)
127+
128+
129+
130+
#### 数据恢复
131+
132+
当我们开启了混合持久化时,启动redis依然优先加载aof文件,aof文件加载可能有两种情况如下:
133+
134+
- aof文件开头是rdb的格式, 先加载 rdb内容再加载剩余的 aof。
135+
- aof文件开头不是rdb的格式,直接以aof格式加载整个文件。
136+
137+
#### 优缺点
138+
139+
优点:
140+
141+
1. 混合持久化结合了RDB持久化 和 AOF 持久化的优点, 由于绝大部分都是RDB格式,加载速度快,同时结合AOF,增量的数据以AOF方式保存了,数据更少的丢失。
142+
143+
缺点:
144+
145+
1. 兼容性差,一旦开启了混合持久化,在4.0之前版本都不识别该aof文件,同时由于前部分是RDB格式,阅读性较差

‎docs/bookRecommend.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
### 《深入理解Java虚拟机 第三版》
66

7-
<img src="https://img9.doubanio.com/view/subject/l/public/s33531736.jpg" width="30%" padding-left= "20%" />
7+
<img src="../static/s33531736.jpg" width="30%" padding-left= "20%" />
88

99
- 推荐指数:五星
1010
- 阅读进度:20%
1111
- 感受:这本书是在2019年双十二的时候出第三版了,作者更新了一些内容,强烈建议大家都买一本来看看,我自己还没有看完。
1212

1313
### 《疯狂Java讲义》
1414

15-
<img src="https://img1.doubanio.com/view/subject/l/public/s32306279.jpg" width="30%" padding-left= "20%" />
15+
<img src="../static/s32306279.jpg" width="30%" padding-left= "20%" />
1616

1717
- 推荐指数:五星
1818

@@ -22,7 +22,7 @@
2222

2323
### 《Java核心技术 卷I》
2424

25-
<img src="https://img9.doubanio.com/view/subject/l/public/s29063065.jpg width="30%" padding-left= "20%" />
25+
<img src="../static/s29063065.jpg" width="30%" padding-left= "20%" />
2626

2727
* 推荐指数:三星
2828

@@ -32,7 +32,7 @@
3232

3333
### 《Effective Java》
3434

35-
<img src="https://img3.doubanio.com/view/subject/l/public/s32282160.jpg" width="30%" padding-left= "20%"/>
35+
<img src="../static/s32282160.jpg" width="30%" padding-left= "20%"/>
3636

3737
- 推荐指数:四星
3838

@@ -42,7 +42,7 @@
4242

4343
### 《Redis设计与实现》
4444

45-
<img src="https://img1.doubanio.com/view/subject/l/public/s27297117.jpg" width="30%" padding-left= "20%" />
45+
<img src="../static/s27297117.jpg" width="30%" padding-left= "20%" />
4646

4747
- 推荐指数:五星
4848

@@ -63,7 +63,7 @@
6363

6464
### 《MySQL必知必会》
6565

66-
<img src="https://img9.doubanio.com/view/subject/l/public/s5968156.jpg" width="30%" padding-left= "20%" />
66+
<img src="../static/s5968156.jpg" width="30%" padding-left= "20%" />
6767

6868
- 推荐指数:三星
6969

@@ -73,7 +73,7 @@
7373

7474
### 《操作系统导论》
7575

76-
<img src="https://img9.doubanio.com/view/subject/l/public/s32332106.jpg" width="30%" padding-left= "20%" />
76+
<img src="../static/s32332106.jpg" width="30%" padding-left= "20%" />
7777

7878
- 推荐指数:五星
7979

@@ -85,7 +85,7 @@
8585

8686
### 《大话数据结构》
8787

88-
<img src="https://img3.doubanio.com/view/subject/l/public/s6382631.jpg" width="30%" padding-left= "20%" />
88+
<img src="../static/s6382631.jpg" width="30%" padding-left= "20%" />
8989

9090
- 推荐指数:五星
9191

20.1 KB
Loading
20.1 KB
Loading
24.4 KB
Loading
940 Bytes
Loading

‎static/4621.png‎

20.1 KB
Loading
22.1 KB
Loading

‎static/image-20200518195123985.png‎

136 KB
Loading

0 commit comments

Comments
 (0)