?刨根问底redis三-Redis的持久化机制,最全面试考点与面试技巧?

3、执行shutdown命令关掉服务,查看目录,已经生成对应的dump文件。

刨根问底redis三-Redis的持久化机制,最全面试考点与面试技巧

4、重启redis服务,发现数据还存在

刨根问底redis三-Redis的持久化机制,最全面试考点与面试技巧

5、执行shutdown命令关掉服务,并把dump文件删除

刨根问底redis三-Redis的持久化机制,最全面试考点与面试技巧

6、启动redis在进行查看,发现存储的数据已经不存在了。

刨根问底redis三-Redis的持久化机制,最全面试考点与面试技巧

2.4?RDB持久化的优缺点

优点:

  • 压缩后的二进制文,适用于备份、全量复制,用于灾难恢复

  • 加载RDB恢复数据远快于AOF方式

缺点:

  • 无法做到实时持久化,每次都要创建子进程,频繁操作成本过高

三、AOF持久化

===============================================================================

针对RDB不适合实时持久化,redis提供了AOF持久化方式来解决

开启方式就是在redis.conf设置:appendonly yes? (默认不开启,为no)

刨根问底redis三-Redis的持久化机制,最全面试考点与面试技巧

默认文件名:appendfilename “appendonly.aof”

3.1?AOF持久化原理

  1. 所有的写入命令(set hset)会append追加到aof_buf缓冲区中

  2. AOF缓冲区向硬盘做sync同步

  3. 随着AOF文件越来越大,需定期对AOF文件rewrite重写,达到压缩

  4. 当redis服务重启,可load加载AOF文件进行恢复

刨根问底redis三-Redis的持久化机制,最全面试考点与面试技巧

3.2?AOF持久化配置

| | |

| — | — |

| 配置信息 | 含义 |

| appendonly yes | 启用aof持久化方式 |

| appendfsync always | 每收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用 |

| appendfsync everysec | 每秒强制写入磁盘一次,性能和持久化方面做了折中,推荐 |

| no-appendfsync-on-rewrite? yes | 正在导出rdb快照的过程中,要不要停止同步aof |

| auto-aof-rewrite-percentage 100 | aof文件大小比起上次重写时的大小,增长率100%时,重写 |

| auto-aof-rewrite-min-size 64mb | aof文件,至少超过64M时,重写 |

3.3?AOF持久化恢复

  1. 设置appendonly yes;

  2. 将appendonly.aof放到dir参数指定的目录;

  3. 启动Redis,Redis会自动加载appendonly.aof文件。

四、Redis持久化加载机制顺序

===================================================================================

如果同时都开启了AOF和RDB?两种持久化方式,那么加载顺序及流程如下

  1. 当 AOF 和 RDB 文件同时存在时,优先加载?AOF

最后

一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。

这不,马上就要到招聘季了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。

image

请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析

资料领取方式:点击【java高分面试指南-25大专题分类】