# Bgrewriteaof

异步执行一个 AOF(AppendOnly File) 文件重写操作

语法

BGREWRITEAOF
  • 可用版本:

    1.0.0

  • 时间复杂度:

    O(1)

  • ACL 类别:

    @admin, @slow, @dangerous

指示 Redis 启动Append Only File重写过程。重写将创建当前仅附加文件的小型优化版本。

如果BGREWRITEAOF失败,则不会丢失任何数据,因为旧的 AOF 将保持不变。

只有在没有后台进程进行持久化的情况下,才会由 Redis 触发重写。

具体来说:

  • 如果 Redis 子进程正在磁盘上创建快照,则 AOF 重写会被安排,但直到生成 RDB 文件的保存子进程终止时才会开始。在这种情况下,BGREWRITEAOF仍然会返回一个肯定的状态回复,但带有适当的消息。INFO您可以通过查看Redis 2.6 或后续版本的命令来检查是否计划了 AOF 重写。
  • 如果 AOF 重写已在进行中,则该命令将返回错误,并且不会安排稍后的 AOF 重写。
  • 如果 AOF 重写可以启动,但启动它的尝试失败(例如,由于创建子进程时出错),则将错误返回给调用者。

从 Redis 2.4 开始,AOF 重写由 Redis 自动触发,但是该 BGREWRITEAOF命令可用于随时触发重写。

有关详细信息,请参阅持久性文档。

# 返回

简单字符串回复:当调用成功执行时,表示重写开始或即将开始的简单字符串回复。

如上文所述,在某些情况下,该命令可能会返回错误消息。

# 反馈

如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。

Last Updated: 4/18/2023, 8:45:33 AM