??
3、执行shutdown命令关掉服务,查看目录,已经生成对应的dump文件。
4、重启redis服务,发现数据还存在
5、执行shutdown命令关掉服务,并把dump文件删除
6、启动redis在进行查看,发现存储的数据已经不存在了。
2.4?RDB持久化的优缺点
优点:
-
压缩后的二进制文,适用于备份、全量复制,用于灾难恢复
- 加载RDB恢复数据远快于AOF方式
缺点:
- 无法做到实时持久化,每次都要创建子进程,频繁操作成本过高
===============================================================================
针对RDB不适合实时持久化,redis提供了AOF持久化方式来解决
开启方式就是在redis.conf设置:appendonly yes? (默认不开启,为no)
默认文件名:appendfilename “appendonly.aof”
3.1?AOF持久化原理
-
所有的写入命令(set hset)会append追加到aof_buf缓冲区中
-
AOF缓冲区向硬盘做sync同步
-
随着AOF文件越来越大,需定期对AOF文件rewrite重写,达到压缩
- 当redis服务重启,可load加载AOF文件进行恢复
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持久化恢复
-
设置appendonly yes;
-
将appendonly.aof放到dir参数指定的目录;
- 启动Redis,Redis会自动加载appendonly.aof文件。
===================================================================================
如果同时都开启了AOF和RDB?两种持久化方式,那么加载顺序及流程如下
- 当 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高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。
请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析
资料领取方式:点击【java高分面试指南-25大专题分类】
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/122787.html