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配置参数。这对于测试目的非常有用。以下是一个示例,它启动了一个新的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 用作缓存,其中每个键都会设置过期时间,您可以考虑使用以下配置(假设最大内存限制为 2 兆字节为例):

maxmemory 2mb
maxmemory-policy allkeys-lru

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

基本上,在这种配置下,Redis的行为与memcached类似。 我们有更详细的文档关于如何使用Redis作为LRU缓存这里

RATE THIS PAGE
Back to top ↑