BGREWRITEAOF
将仅追加文件异步重写到磁盘。
语法
BGREWRITEAOF
引入版本:1.0.0
复杂度摘要:O(1)
指示Redis 启动仅附加文件 重写过程。重写将创建当前仅附加文件的小型优化版本。
如果 BGREWRITEAOF 失败,不会丢失任何数据,因为旧的 AOF 将保持不变。
如果还没有后台进程进行持久化,则只有 Redis 才会触发重写。
具体来说:
- 如果 Redis 子级正在磁盘上创建快照,则 AOF 重写为 预定,但直到生成 RDB 文件的保存子级终止后才开始。在这种情况下,
BGREWRITEAOF仍将返回肯定的状态回复,但带有适当的消息。从 Redis 2.6 或后续版本开始,您可以通过查看INFO命令来检查是否计划进行 AOF 重写。 - 如果 AOF 重写已在进行中,该命令将返回错误,并且稍后不会安排 AOF 重写。
- 如果 AOF 重写可以启动,但启动尝试失败(例如由于创建子进程时出错),则会向调用方返回错误。
从 Redis 2.4 开始,AOF 重写由 Redis 自动触发,但是可以使用 BGREWRITEAOF 命令随时触发重写。
详细信息请参见持久化文档。
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ❌ 标准 |
❌ 标准 |
返回值
RESP2
简单字符串回复:一个简单的字符串回复,表示调用执行成功后,重写已开始或即将开始。在某些情况下,该命令可能会回复错误,如上所述。
RESP3
批量字符串回复:一个简单的字符串回复,表示调用执行成功后,重写已开始或即将开始。在某些情况下,该命令可能会回复错误,如上所述。
资料来源:Redis 官方 BGREWRITEAOF 文档;中文内容参考 Redis 文档许可。