BGREWRITEAOF
语法
BGREWRITEAOF
- 可用时间
- 1.0.0
- 时间复杂度
- O(1)
- ACL 类别
-
@admin
,@slow
,@dangerous
,
指示 Redis 开始一个追加仅文件 重写过程。重写将创建一个当前追加仅文件的小型优化版本。
如果 BGREWRITEAOF
失败,则不会丢失任何数据,因为旧的 AOF 将保持不变。
只有在没有后台进程执行持久化操作时,Redis 才会触发重写操作。
具体来说
- 如果 Redis 子进程正在创建磁盘快照,则 AOF 重写操作将被计划,但直到生成 RDB 文件的保存子进程终止后才会启动。在这种情况下,
BGREWRITEAOF
仍然会返回一个正状态回复,但会附带适当的消息。您可以检查 AOF 重写操作是否已计划,方法是查看自 Redis 2.6 或后续版本以来的INFO
命令。 - 如果 AOF 重写操作正在进行中,则命令会返回错误,并且不会为以后的时间安排 AOF 重写操作。
- 如果 AOF 重写操作可以启动,但启动尝试失败(例如,由于创建子进程时出错),则会向调用者返回错误。
自 Redis 2.4 以来,Redis 会自动触发 AOF 重写操作,但是 BGREWRITEAOF
命令可用于在任何时候触发重写操作。
有关详细信息,请参阅持久化文档。
RESP2 回复
简单字符串回复: 一个简单字符串回复,表示重写已启动或将在调用成功执行时尽快启动。
命令可能在某些情况下回复错误,如上所述。
RESP3 回复
块字符串回复: 一个简单字符串回复,表示重写已启动或将在调用成功执行时尽快启动。
命令可能在某些情况下回复错误,如上所述。