Redis有几个命令,可让您即时更改Redis服务器的配置设置。本教程将介绍其中一些命令,并说明如何使这些配置更改永久生效。
如何使用本指南
本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。
本指南中显示的命令已在运行Redis版本4.0.9的Ubuntu 18.04服务器上进行了测试。要设置类似的环境,您可以按照我们的指南如何在Ubuntu 18.04上安装和保护Redis的步骤1进行操作。我们将通过使用Redis命令行界面运行它们来演示这些命令的行为。请注意,如果您使用其他Redis界面(例如Redli),则某些命令的确切输出可能会有所不同。
请注意,托管Redis数据库通常不允许用户更改配置文件。如果您正在使用DigitalOcean的托管数据库,则本指南中概述的命令将导致错误。
更改Redis的配置
本节中概述的命令将仅在当前会话期间或直到您运行之前更改Redis服务器的行为,config rewrite这将使它们永久化。您可以通过使用首选文本编辑器打开和编辑Redis配置文件来直接更改它。例如,您可以nano这样做:
sudo nano /etc/redis/redis.conf
警告:该config set命令被认为是危险的。通过更改Redis配置文件,有可能导致Redis服务器以意外或不良方式运行。我们建议仅在config set测试命令的行为或绝对确定要对Redis配置进行更改时才运行该命令。
您可能希望将此命令重命名为不太可能意外运行的命令。
config set允许您在运行时重新配置Redis,而无需重新启动服务。它使用以下语法:
config set parameter value
例如,如果要更改运行save命令后Redis将产生的数据库转储文件的名称,则可以运行如下命令:
config set "dbfilename" "new_file.rdb"
如果配置更改有效,则命令将返回OK。否则将返回错误。
注意:并非redis.conf文件中的每个参数都可以通过config set操作来更改。例如,您不能更改requirepass参数定义的身份验证密码。
永久进行配置更改
config set不会永久更改Redis实例的配置文件;它仅在运行时更改Redis的行为。要redis.conf在运行config-set命令后进行编辑并使当前会话的配置永久化,请运行config rewrite:
config rewrite
此命令将尽最大努力保留原始redis.conf文件的注释和整体结构,而只需进行最小的更改即可匹配服务器当前使用的设置。
就像config set,如果重写成功config rewrite将返回OK。
检查Redis的配置
要读取Redis服务器的当前配置参数,请运行config get命令。config get只有一个参数,其可以是在使用的参数中的任一个完全匹配redis.conf或水珠图案)。例如:
config get repl*
根据您的Redis配置,此命令可能返回:
Output 1) "repl-ping-slave-period" 2) "10" 3) "repl-timeout" 4) "60" 5) "repl-backlog-size" 6) "1048576" 7) "repl-backlog-ttl" 8) "3600" 9) "repl-diskless-sync-delay"10) "5"11) "repl-disable-tcp-nodelay"12) "no"13) "repl-diskless-sync"14) "no"
您还可以config set通过运行返回所有支持的配置参数config get *。
相关参考:Redis教程
以上是如何通过命令行修改redis的配置的详细内容。更多信息请关注PHP中文网其他相关文章!