如何通过命令行更改 Redis 配置

介绍

Redis是一个开源的,内存中的关键值数据存储。Redis有几个命令,允许您在飞行中更改Redis服务器的配置设置。

如何使用此指南

这个指南是写成一个骗局的表,包含自含的示例,我们鼓励你跳到任何与你试图完成的任务相关的部分。

本指南所显示的命令在运行于Redis版本6.0.16的Ubuntu 22.04服务器上进行了测试. 为了建立类似的环境,你可以遵循我们关于如何在Ubuntu 22.04的指南步骤1 。 我们将用Redis命令行界面`redis-cli'来运行这些命令,以此来展示这些命令的行为。 如果使用不同的Redis接口——例如Redli,某些指令的确切输出可能有所不同.

或者,您可以提供一个管理下的 Redis 数据库实例来测试这些命令,但根据您数据库提供者允许的控制级别,本指南中的一些命令可能无法像描述的那样工作 。 为提供一个数字海洋管理数据库,请遵循我们的管理的数据库产品文件。 然后,您必须安装Redli设置TLS地道才能通过TLS连接到管理数据库.

请注意,管理的 Redis 数据库通常不允许用户更改配置文件. 如果您正在使用 DigitalOcean 的管理数据库,本指南中描述的命令会导致错误。

更改 Redis 配置

在本节中描述的命令只会在当前会话的持续时间内改变 Redis 服务器的行为,或者直到您运行config rewrite,从而使其永久性。

1sudo nano /etc/redis/redis.conf

警告:config set命令被认为是危险的。通过更改您的 Redis 配置文件,您可能会导致您的 Redis 服务器以意想不到或不受欢迎的方式行为。

您可能感兴趣的是 重命名此命令 到一个更低的意外运行可能性的东西。

config set允许您在运行时重新配置 Redis,而无需重新启动服务。

1config set parameter value

例如,如果您想要更改数据库丢弃文件的名称,则在运行保存命令后,Redis 会生成该命令,您可以执行如下命令:

1config set "dbfilename" "new_file.rdb"

如果配置更改是有效的,该命令将返回OK

<$>[注] 注: 在「redis.conf」文件中的每个参数都无法通过「config set」操作进行更改,例如,您无法更改由「requirepass」参数定义的身份验证密码。

使配置更改永久性

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

1config rewrite

此命令优先保存原始 redis.conf 文件的评论和整体结构,只进行最小的更改,以匹配服务器目前使用的设置。

config set,如果重写成功,则config rewrite将返回OK

检查 Redis 的配置

要读取 Redis 服务器的当前配置参数,请运行))。

1config get repl*

根据您的 Redis 配置,此命令将返回类似于以下的内容:

 1[secondary_label Output]
 2 1) "repl-ping-slave-period"
 3 2) "10"
 4 3) "repl-timeout"
 5 4) "60"
 6 5) "repl-backlog-size"
 7 6) "1048576"
 8 7) "repl-backlog-ttl"
 9 8) "3600"
10 9) "repl-diskless-sync-delay"
1110) "5"
1211) "repl-disable-tcp-nodelay"
1312) "no"
1413) "repl-diskless-sync"
1514) "no"

您也可以通过运行config get * 来返回由config set支持的所有配置参数。

结论

本指南详细介绍了用于对 Redis 服务器配置文件进行更改的redis-cli命令. 如果在本指南中您想要了解的其他相关命令、论点或程序,请在评论中询问或提出建议。

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

Published At
Categories with 技术
comments powered by Disqus