CONFIG SET命令用于在服务器运行期间重写某些配置,而不用重启Redis。你可以使用此命令更改不重要的参数或从一个参数切换到另一个持久性选项。

可以通过CONFIG GET *获得CONFIG SET命令支持的配置参数列表,该命令是用于获取有关正在运行的Redis实例的配置信息的对称命令。

所有使用CONFIG SET设置的配置参数将会立即被Redis加载,并从下一个执行的命令开始生效。

所有支持的参数与redis.conf文件中使用的等效配置参数具有相同含义,但有以下重要区别:

  • 在指定字节或其他数量的选项中,不能使用在redis.conf中使用的简写形式(如10k2gb等),所有内容都应该指定为格式良好的64位整数,以配置指令的基本单位表示。但从Redis3.0以及更高版本开始,可以将CONFIG SET与内存单元一起用于maxmemory、客户端输出缓冲以及复制积压大小(repl-backlog-size)指定内存单位。
  • save参数是一个以空格分隔的整数字符串。每对整数代表一个秒/修改阈值。

例如在redis.conf中看起来像这样:

save 900 1
save 300 10

这意味着,如果数据集有1个以上变更,则在900秒后保存;如果有10个以上变更,则在300秒后就保存,应使用`CONFIG SET SAVE “900 1 300 10”来设置。

可以使用CONFIG SET命令将持久化从RDB快照切换到AOF文件(或其他相似的方式)。 有关如何执行此操作的详细信息,请查看persistencepage

一般来说,你应该知道将appendonly参数设置为yes将启动后台进程以保存初始AOF文件(从内存数据集中获取),并将所有后续命令追加到AOF文件,从而达到了与一个Redis服务器从一开始就开启了AOF选项相同的效果。

如果你愿意,可以同时开启AOF和RDB快照,这两个选项不是互斥的。

返回值

simple-string-reply:当配置被正确设置时返回OK,否则将返回错误。

关于本文翻译者

网名:eson
github:helloeson
打赏他(备注rediscn)
微信