请稍等 ...
×

采纳答案成功!

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

关于AOF持久化的疑问,不明白这个AOF重写的流程

图片描述
如果原来的AOF文件中有内容,现在新的AOF不依赖与原来的AOF文件,那原来的文件内容不是丢失了吗,最后使用新的AOF文件替换旧的AOF文件的时候将会缺少原来AOF文件中的内容,这样重写后只有新增的内容数据,以后恢复的时候不就缺失内容了吗。

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

2回答

努力的大言 2021-10-06 15:09:12

老师好 关于 是否依赖原来的AOF文件  是不是这样理解的  

AOF重写并不需要对原有AOF文件进行任何的读取,写入,分析等操作,这个功能是通过读取服务器当前的数据库状态来实现的

0 回复 有任何疑惑可以回复我~
  • 翔仔 #1
    同学好,这里指的是不在原先文件上进行操作,但是还是会依赖之前的最新一次操作进行写入和重构
    回复 有任何疑惑可以回复我~ 2021-10-06 23:58:47
翔仔 2021-07-25 23:37:30

同学好,AOF重写是把Redis进程内的数据转化为写命令,同步到新的AOF文件;不会对旧的AOF文件进行任何读取、写入操作。这里指的是先将原来的文件里面的指令重新改写入新的文件里面,所以是有的哈

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕设计8306160 #1
    先将原来的文件里面的指令重新改写入新的文件里面的时候,不是应该先读取旧的AOF文件,然后将改版的内容写入新的文件里面吗?感觉改写的时候还是涉及到对旧AOF文件的读取
    回复 有任何疑惑可以回复我~ 2021-07-25 23:44:26
  • 翔仔 回复 提问者 qq_慕设计8306160 #2
    生成新文件的时候,是需要解析原先旧文件的内容进行所谓的重写压缩的,所以会涉及到AOF文件的读取,这里的不依赖有点歧义,实际上指的是不依赖于在旧文件上进行操作哈
    回复 有任何疑惑可以回复我~ 2021-07-26 23:02:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信