写点什么

面试题:AOF 重写机制,redis 面试必问!!!

  • 2022 年 7 月 06 日
  • 本文字数:525 字

    阅读完需:约 2 分钟

面试题:AOF重写机制,redis面试必问!!!

🤞AOF 重写了解吗?

AOF 重写可以产生一个新的 AOF 文件,这个新的 AOF 文件和原有的 AOF 文件所保存的数据库状态一样,但体积更小。

AOF 重写是一个有歧义的名字,该功能是通过读取数据库中的键值对来实现的,程序无须对现有 AOF 文件进行任何读入、分析或者写入操作。

在执行 BGREWRITEAOF 命令时,Redis 服务器会维护一个 AOF 重写缓冲区,该缓冲区会在子进程创建新 AOF 文件期间,记录服务器执行的所有写命令。当子进程完成创建新 AOF 文件的工作之后,服务器会将重写缓冲区中的所有内容追加到新 AOF 文件的末尾,使得新的 AOF 文件保存的数据库状态与现有的数据库状态一致。最后,服务器用新的 AOF 文件替换旧的 AOF 文件,以此来完成 AOF 文件重写操作。


🤞Redis 4.0 对于持久化机制做了什么优化?

Redis 4.0 开始支持 RDB 和 AOF 的混合持久化(默认关闭,可以通过配置项 aof-use-rdb-preamble 开启)。

如果把混合持久化打开,AOF 重写的时候就直接把 RDB 的内容写到 AOF 文件开头。这样做的好处是可以结合 RDB 和 AOF 的优点, 快速加载同时避免丢失过多的数据。当然缺点也是有的, AOF 里面的 RDB 部分是压缩格式不再是 AOF 格式,可读性较差。

具体的使用方式:可以参考官方文档地址:https://redis.io/topics/persistence

发布于: 刚刚阅读数: 3
用户头像

公众号:知识浅谈 2022.06.22 加入

《博客网站》zsqt.cc 《联系方式》vx:zsqtcc 《擅长领域》后端,Java,Python 《个人简介》CSDN签约讲师,CSDN原力作者,后端领域优质创作者,热爱分享,热爱创作。

评论

发布
暂无评论
面试题:AOF重写机制,redis面试必问!!!_redis 底层原理_知识浅谈(zsqt.cc)_InfoQ写作社区