如何从命令行更改Redis的配置

介绍

Redis是一个开源的、内存中的键值数据存储系统。Redis具有多个命令,允许您即时更改Redis服务器的配置设置。本教程将讨论其中一些命令,并解释如何使这些配置更改永久生效。

如何使用本指南

本指南以速查表形式编写,包含独立的示例。我们鼓励您跳转到与您正在尝试完成的任务相关的任何部分。

本指南中显示的命令在运行Redis版本为6.0.16的Ubuntu 22.04服务器上经过测试。要设置类似的环境,您可以按照我们的第1步如何在Ubuntu 22.04上安装和保护Redis指南中的说明进行操作。我们将通过使用redis-cli,即Redis命令行界面,演示这些命令的行为。如果您使用不同的Redis界面,例如Redli,某些命令的确切输出可能会有所不同。

或者,您可以提供一个托管的Redis数据库实例来测试这些命令,但取决于您的数据库提供商允许的控制级别,本指南中的一些命令可能无法按照描述的方式工作。要提供DigitalOcean托管的数据库,请参阅我们的托管数据库产品文档。然后,您必须要么安装Redli,要么设置TLS隧道以便通过TLS连接到托管数据库。

请注意,托管的Redis数据库通常不允许用户修改配置文件。如果您正在使用来自DigitalOcean的托管数据库,则本指南中概述的命令将导致错误。

更改Redis的配置

本节概述的命令将仅在当前会话的持续时间内或直到运行config rewrite时更改Redis服务器的行为,这将使它们永久化。您可以通过打开并使用您喜欢的文本编辑器进行编辑来直接修改Redis配置文件。例如,您可以使用nano这样做:

  1. sudo nano /etc/redis/redis.conf

警告: config set 命令被视为危险操作。通过更改 Redis 配置文件,可能导致 Redis 服务器以意外或不希望的方式运行。我们建议只有在测试其行为或确信要更改 Redis 配置时才运行 config set 命令。

为了你的利益,你可能希望 将此命令重命名 为一个不太可能被意外运行的名称。

config set 允许你在运行时重新配置 Redis,而无需重新启动服务。它使用以下语法:

  1. config set parameter value

例如,如果你想在运行 save 命令后更改 Redis 生成的数据库转储文件的名称,你可以运行如下命令:

  1. config set "dbfilename" "new_file.rdb"

如果配置更改有效,命令将返回 OK。否则,它将返回错误。

注意: 不是 redis.conf 文件中的每个参数都可以使用 config set 操作更改。例如,你不能更改由 requirepass 参数定义的身份验证密码。

使配置更改永久生效

config set 不会永久更改 Redis 实例的配置文件;它只会在运行时改变 Redis 的行为。在运行 config-set 命令后编辑 redis.conf 并使当前会话的配置永久化,可以运行 config rewrite

  1. config rewrite

此命令优先保留原始 redis.conf 文件的注释和整体结构,只做最小程度的更改以匹配服务器当前使用的设置。

类似于 config set,如果重写成功,config rewrite 将返回 OK

检查 Redis 的配置

要读取 Redis 服务器的当前配置参数,请运行 config get 命令。 config get 接受一个参数,可以是 redis.conf 中使用的参数的精确匹配,或者是 glob 模式。例如:

  1. 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 get * 返回 config set 支持的所有配置参数。

结论

本指南详细介绍了用于更改Redis服务器配置文件的redis-cli命令。如果您在本指南中想了解其他相关命令、参数或操作,请在评论中提出或提出建议。

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

Source:
https://www.digitalocean.com/community/cheatsheets/how-to-change-redis-configuration