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 配置参数。这对测试目的非常有用。以下示例使用端口 6380 启动一个新的 Redis 实例,作为在 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 时,将使用旧配置。

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

将 Redis 配置为缓存

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

maxmemory 2mb
maxmemory-policy allkeys-lru

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

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

RATE THIS PAGE
Back to top ↑