为了账号安全,请及时绑定邮箱和手机立即绑定

(Redis基础教程之十三) 如何从命令行更改Redis的配置

2020.05.17 17:01 508浏览

介绍

Redis是一个开源的内存中键值数据存储。Redis有几个命令,可让您即时更改Redis服务器的配置设置。本教程将介绍其中一些命令,并说明如何使这些配置更改永久生效。

如何使用本指南

本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。

本指南中显示的命令已在运行Redis版本4.0.9的Ubuntu 18.04服务器上进行了测试。要设置类似的环境,您可以按照我们的指南如何在Ubuntu 18.04上安装和保护Redis的步骤1进行操作。我们将通过使用Redis命令行界面运行它们来演示这些命令的行为。请注意,如果您使用其他Redis界面(例如Redli),则某些命令的确切输出可能会有所不同。redis-cli

请注意,托管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-cli用于动态更改Redis服务器的配置文件的命令。如果您想在本指南中概述其他相关的命令,参数或过程,请在下面的评论中提出疑问或提出建议。

有关Redis命令的更多信息,请参阅关于如何管理Redis数据库的系列教程。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消