# Redis 配置

redis.conf概述,Redis配置文件

Redis 可以在没有配置文件的情况下使用内置的默认配置启动,但是此设置仅建议用于测试和开发目的。

配置 Redis 的正确方法是提供一个 Redis 配置文件,通常称为redis.conf.

redis.conf文件包含许多格式非常简单的指令:

keyword argument1 argument2 ... argumentN

这是配置指令的示例:

replicaof 127.0.0.1 6380

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

requirepass "hello world"

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

配置指令列表及其含义和预期用途可在 Redis 发行版中提供的自记录示例 redis.conf 中找到。

  • Redis 7.0的自我记录的 redis.conf
  • Redis 6.2的自我记录 redis.conf
  • Redis 6.0的自我记录 redis.conf
  • Redis 5.0的自我记录的 redis.conf
  • Redis 4.0的自我记录的 redis.conf
  • Redis 3.2的自我记录的 redis.conf
  • Redis 3.0的自我记录的 redis.conf
  • Redis 2.8的自记录 redis.conf
  • Redis 2.6的自我记录的 redis.conf
  • Redis 2.4的自我记录 redis.conf

# 通过命令行传递参数

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

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

通过命令行传递的参数格式与 redis.conf 文件中使用的格式完全相同,不同之处在于关键字以 . 为前缀--

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

# 在服务器运行时更改 Redis 配置

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

并非所有配置指令都以这种方式受支持,但大多数都按预期得到支持。请参阅 CONFIG SETCONFIG GET 页面了解更多信息。

请注意,即时修改配置对**redis.conf 文件没有影响,**因此在下次重新启动 Redis 时将使用旧配置。

确保还redis.conf根据您使用设置的配置修改文件 CONFIG SET。您可以手动进行,也可以使用 CONFIG REWRITE,它会自动扫描您的redis.conf文件并更新与当前配置值不匹配的字段。不添加不存在但设置为默认值的字段。保留配置文件中的注释。

# 将 Redis 配置为缓存

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

maxmemory 2mb
maxmemory-policy allkeys-lru

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

基本上,在这种配置中,Redis 的行为方式与 memcached 类似。 我们在这里 有更多关于使用 Redis 作为 LRU 缓存的文档。

# 反馈

如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。

Last Updated: 4/18/2023, 8:45:33 AM