# Config rewrite
对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
语法
CONFIG REWRITE
可用版本:
2.8.0
时间复杂度:
O(1)
ACL 类别:
@admin
,@slow
,@dangerous
CONFIG REWRITE
命令重写服务器启动时使用的redis.conf
文件,应用所需的最小更改,使其反映服务器当前使用的配置,由于使用了CONFIG SET
,该配置可能与原始配置不同命令。
重写以非常保守的方式执行:
- 尽可能保留原始redis.conf的注释和整体结构。
- 如果旧的 redis.conf 文件中已经存在一个选项,它将在相同的位置(行号)重写。
- 如果选项不存在,但设置为其默认值,则重写过程不会添加它。
- 如果选项不存在,但设置为非默认值,则将其附加在文件末尾。
- 未使用的行被空白。例如,如果您曾经有多个
save
指令,但当前配置较少或没有,因为您禁用了 RDB 持久性,所有行都将空白。
如果原始配置文件由于某种原因不再存在,CONFIG REWRITE 还能够从头开始重写配置文件。但是,如果服务器在没有配置文件的情况下启动,则 CONFIG REWRITE 只会返回一个错误。
# 原子重写过程
为了确保redis.conf文件始终一致,也就是说,在出现错误或崩溃时,总是以旧文件或新文件结束,重写是通过一个write(2)
调用执行的,该调用的内容至少与旧文件一样大。有时会添加注释形式的额外填充,以确保生成的文件足够大,然后文件会被截断,以删除末尾的填充。
# 返回
简单字符串回复:当配置被正确重写时,OK
。否则将返回一个错误。
# 反馈
如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。
← Info Client List →