第五章、redis持久化
1、是什么
1、是rdb和aof这两大巨头
2、因为redis是在内存中。所以需要持久化保存。万一天灾人祸
2、有什么用
1、两大巨头(Rdb和aof)
2、rdb
1、有什么用
1、在指定的时间间隔,rdb会拍个快照,执行数据集的时间点快照
2、rdb保存的文件是在.rdb
2、配置文件
1、redis6及其一下,我们就配置redis.confi文件如下
- 如果每隔900秒,有一次保存,我们就拍快照,保存为.rdb文件
2、redis6及其以上
3、自动触发和手动触发
1、自动触发
1、在redis.conf中搜素,save,就可以设置
2、例子
- 每5秒触发两次
4、修改rdb的dump文件路径
1、在redis中输入一下命令,获取dump文件的保存路径
config get dir
2、如果遇到这个问题:
- NOAUTH Authentication required.
- 就是没有登录
3、修改路径
- 找到redis.conf,的working directory
5、修改dump文件夹的名称
1、在配置文件中找一下的注释,下一行就是
The filename where to dump to DB
6、恢复备份
1、我们把备份内容存到,redis.conf中,那么。我们要恢复
2、我们把dump.rdb文件,放到redis安装目录,然后启动服务就行
4、手动触发
1、在redis中两个命令
2、save
- 执行了redis会阻塞,直到保存完才继续执行
3、bgsave
- 创建一个子线程,不会阻塞,消耗系统资源也更大
5、修复dump.rdb文件
1、如果rdb文件出现损坏,或者其他原因
2、执行一下代码
redis-check-rdb xxxx.rdb文件
6、什么情况会触发快照

7、补充
1、查看服务进程的linux命令
ps -ef|grep redis|grep -v
2、杀死linux的指令
kill 进程号
8、优劣势
1、优势
- 适合大规模数据恢复
- 按照业务备份
- 对数据的完整性和一致性要求不高
- 内存加载速度比aof块
2、劣势
- 如果断电,快照数据之前会丢失
- 数据大,影响服务器性能
3、aof
1、有什么用
1、也是用来做redis数据持久化的
2、只能追加文件,不可以改写文件。
3、就是我们增删改,aof会记录。如果redis死了,下次就会重新加载记录
2、配置文件
1、怎么打开这个功能(在redis.conf中改)
appendonly yes
2、aof保存文件是在appendonly.aof
3、redis6
- 有且仅有一个
4、redis6+
- base基本文件
- incr增量文件
- manifest清单文件
5、设置aof的默认写回策略
appendfsync everysec #每秒写回
appendfsync always #总是
appendfsync no #不写回

6、设置aof文件的保存路径

-
我们自定义就是
-
dir +文件名
3、恢复数据
1、将这个配置文件,移动到redis的bin同层目录就行
4、修复aof文件
1、.aof文件坏了,就会如下

2、我们进行修复
redis-check-aof --fix

5、优劣势
1、优势
- 更好保护数据、性能高、可做紧急恢复
2、劣势
- 相同的数据,aof比rdb更大(毕竟aof有3个文件)
- aof效率比rdb慢
- aof每秒同步策略好
- aof和rdb在不同步策略是一样的
3、总结

4、aof和rdb合二为一
1、听谁的,谁是老大

2、怎么选,用哪个

1、这里我们直接两者一起使用
3、两者同时开启持久化
1、aof在重启的时候,首先加载
2、rdb可以作为以防万一的手段,并不是rdb一无是处
5、纯缓存模式
1、我们可以把aof和rdb的自动设置,都关闭
2、即时关闭,以下两个命令还是可以用
save
bgsave
3、怎么禁用关闭
- 设置保存为空
- 或者直接注释保存


