请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于aof持久化问题

老师你好,aof持久化问题如下:
1、如果同步策略为每次修改同步,那么写命令是否进入缓冲区,还是只要服务端接到写命令并执行后立即写到磁盘aof文件
2、将缓冲区的写命令刷到磁盘的操作是否是在新开的线程上执行的
3、触发aof重写的那两个配置
auto-aof-rewrite-min-size
auto-aof-rewrite-percentage
必须同时配置吗,这两个配置有什么联系
4、关于aof重写,bgrewriteaof会把内存中的数据以rdb的形式放在aof文件中
那所谓的写指令优化也没有体现出来(连续对同一个key进行set那种)
5、如果rdb和aof都开启,优先恢复aof,那redis是否还对rdb进行恢复,这两部分的数据有可能都是一样的
6、如果采用混合模式持久化,aof文件中的头部为rdb数据时,那原来的那个dump.rdb是否还有用,因为aof中已经存在rdb数据了
7、关于bgsave、aof持久化、aof重写、缓存淘汰是不是都开启一个新的线程来处理

正在回答 回答被采纳积分+3

2回答

提问者 慕粉1559449418 2020-12-13 23:46:11

谢谢老师的解答

1 回复 有任何疑惑可以回复我~
InCowboy 2020-12-13 17:59:14

1、Redis每次都是先将命令放到缓冲区,然后根据具体策略(每秒/每条指令/缓冲区满)进行刷盘操作。

2、是的

3、auto-aof-rewrite-min-size 64mb # 当前aof文件大于多少字节后才触发,aof文件重写最小的文件大小,即最开始aof文件必须要达到这个文件时才触发,后面的每次重写就不会根据这个变量了(根据上一次重写完成之后的大小 auto-aof-rewrite-percentage)

4、重写会创建一个当前 AOF 文件的体积优化版本,你自己测试测试是可以的。

5、恢复AOF的,RDB与AOF同时开启 默认加载AOF

6、混合模式的作用是为了防止数据丢失,又能快速恢复数据。RDB文件一般我们也不会删除。

7、是的

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信