Redis 配置

redis.conf(Redis 配置文件)概述

Redis Open Source

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.4 的自文档化 redis.conf
  • 适用于 Redis 7.2 的自文档化 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 配置参数。这对于测试目的非常有用。以下是一个示例,它启动一个新的 Redis 实例,使用端口 6380 作为运行在 127.0.0.1 端口 6379 实例的副本。

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

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

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

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

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

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

请注意,动态修改配置不会影响 redis.conf 文件,因此在下次重启 Redis 时将使用旧配置。

确保也相应地修改 redis.conf 文件,使其与您使用 CONFIG SET 设置的配置一致。您可以手动操作,也可以使用 CONFIG REWRITE 命令,它会自动扫描您的 redis.conf 文件并更新与当前配置值不匹配的字段。不存在但设置为默认值的字段不会被添加。配置文件中的注释会保留。

将 Redis 配置为缓存

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

maxmemory 2mb
maxmemory-policy allkeys-lru

在这种配置下,应用程序无需使用 EXPIRE 命令(或等效命令)为键设置存活时间,因为只要达到 2MB 的内存限制,所有键都将使用近似的 LRU 算法被逐出。

基本上,在这种配置下,Redis 的行为类似于 memcached。我们有关于将 Redis 用作 LRU 缓存的更详细文档,请点击此处

为本页面评分
返回顶部 ↑