# 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 SET
和 CONFIG 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 缓存的文档。
# 反馈
如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。