星海

Redis · 单选题 · 第 42 题

Java 后端开发面试 · 第 42 题

关于 Redis 的 RDB 和 AOF 持久化,下列说法正确的是?

  1. ARDB 逐条记录每一个写命令,AOF 则定期生成整个数据集的二进制快照文件
  2. BAOF 文件只会无限增长,Redis 没有任何手段可以压缩或者重写它
  3. CRDB 是某一时刻的快照,恢复快但可能丢失最近的数据;AOF 记录写命令,数据更完整
  4. D开启 RDB 后每次写入都会同步刷盘,所以 RDB 模式下不会丢任何数据

答案

C C. RDB 是某一时刻的快照,恢复快但可能丢失最近的数据;AOF 记录写命令,数据更完整

解析

RDB 用 fork 子进程生成二进制快照,文件小、恢复快,适合备份,但两次快照之间的写入会丢。AOF 追加写命令,appendfsync everysec 最多丢约 1 秒数据,并通过 AOF 重写来压缩文件。Redis 4 起支持混合持久化,AOF 重写时用 RDB 格式作为开头。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。