文档:配置

Valkey 可以在没有配置文件的情况下启动,使用内置的默认配置,但这种设置仅推荐用于测试和开发目的。

配置 Valkey 的正确方法是提供一个 Valkey 配置文件,通常命名为 valkey.conf

valkey.conf 文件包含许多指令,其格式非常简单。

keyword argument1 argument2 ... argumentN

这是一个配置指令的示例

replicaof 127.0.0.1 6380

可以使用(双引号或单引号)引用提供包含空格的字符串作为参数,如下例所示

requirepass "hello world"

单引号字符串可以包含反斜杠转义的字符,双引号字符串还可以包含使用反斜杠十六进制表示法 "\xff" 编码的任何 ASCII 符号。

配置指令的列表及其含义和预期用法可在 Valkey 发行版中附带的自文档化示例 valkey.conf 中找到。

通过命令行传递参数

您也可以直接通过命令行传递 Valkey 配置参数。这对于测试目的非常有用。以下是一个示例,它启动一个新的 Valkey 实例,使用端口 6380 作为在 127.0.0.1 端口 6379 运行的实例的副本。

./valkey-server --port 6380 --replicaof 127.0.0.1 6379

通过命令行传递的参数格式与 valkey.conf 文件中使用的格式完全相同,只是关键字前缀为 --

请注意,这在内部会生成一个内存中的临时配置文件(可能会连接用户传入的配置文件,如果有的话),其中参数被转换为 valkey.conf 的格式。

在服务器运行时更改 Valkey 配置

可以在不停止和重启服务的情况下动态重新配置 Valkey,或者使用特殊命令 CONFIG SETCONFIG GET 以编程方式查询当前配置。

并非所有配置指令都支持这种方式,但大多数都如预期般支持。有关更多信息,请参阅 CONFIG SETCONFIG GET 页面。

请注意,动态修改配置对 valkey.conf 文件没有影响,因此在 Valkey 下次重启时将使用旧配置。

请务必根据您使用 CONFIG SET 设置的配置相应地修改 valkey.conf 文件。您可以手动完成,也可以使用 CONFIG REWRITE,它会自动扫描您的 valkey.conf 文件并更新与当前配置值不匹配的字段。不存在但已设置为默认值的字段不会添加。配置文件中的注释会保留。

将 Valkey 配置为缓存

如果您计划将 Valkey 用作缓存,其中每个键都将设置过期时间,您可以考虑使用以下配置(假设最大内存限制为 2 兆字节作为示例)

maxmemory 2mb
maxmemory-policy allkeys-lru

在此配置中,应用程序无需使用 EXPIRE 命令(或等效命令)为键设置生存时间,因为只要我们达到 2 兆字节的内存限制,所有键都将使用近似 LRU 算法进行逐出。

基本上,在此配置中,Valkey 的行为方式与 memcached 类似。我们有关于将 Valkey 用作 LRU 缓存的更详细文档,请点击此处