Redis - 配置
Redis - 配置
Section titled “Redis - 配置”Redis 的配置方式主要有两种:通过编辑 redis.conf 文件进行持久化设置,或者使用 CONFIG 命令在运行时修改配置。redis.conf 文件注释非常详细,是所有可用指令的极佳文档。
在运行时读取配置
Section titled “在运行时读取配置”你可以直接通过客户端使用 CONFIG GET 命令来检查当前服务器配置。
> CONFIG GET <parameter>示例:获取特定参数
Section titled “示例:获取特定参数”要检索 loglevel 参数的值:
127.0.0.1:6379> CONFIG GET loglevel1) "loglevel"2) "notice"示例:获取所有参数
Section titled “示例:获取所有参数”你可以使用 glob 风格的模式来获取所有配置参数。使用 * 将返回所有内容。
127.0.0.1:6379> CONFIG GET *注意:输出内容会非常庞大,列出你的 Redis 版本支持的所有指令。通常更实用的是查询特定组的参数,例如 CONFIG GET *memory*。
对于在服务器重启后仍然有效的持久化更改,你应该编辑 redis.conf 文件。对于临时的、即时生效的更改,请使用 CONFIG SET 命令。
> CONFIG SET <parameter> <value>127.0.0.1:6379> CONFIG SET maxmemory "2gb"OK
127.0.0.1:6379> CONFIG GET maxmemory1) "maxmemory"2) "2147483648"要使运行时更改持久化,你可以使用 CONFIG REWRITE 命令,它将以原子方式使用当前内存中的配置更新你的 redis.conf 文件。这要求服务器最初是使用配置文件启动的。
关键配置指令
Section titled “关键配置指令”虽然 Redis 有超过 100 个配置指令,但这里列出了一些你应该熟悉的最重要指令。
requirepass <password>: 设置密码,客户端必须使用AUTH命令进行认证。这是你的 Redis 实例的第一道防线。protected-mode yes: 一个关键的安全层。启用时(默认情况下),Redis 仅接受来自环回接口 (127.0.0.1) 的连接,除非设置了密码或明确配置了bind指令。这可以防止不安全的 Redis 意外暴露在互联网上。bind 127.0.0.1 -::1: 将服务器绑定到特定的网络接口。默认绑定到 IPv4 和 IPv6 的本地主机 (localhost)。要使 Redis 可以从其他服务器访问,你需要将其更改为bind <private_ip_address>或bind 0.0.0.0(谨慎使用并配合防火墙)。
save <seconds> <changes>: 配置 RDB 快照。例如,save 60 1000告诉 Redis 如果在过去 60 秒内至少有 1000 个键发生更改,则将数据集保存到磁盘。appendonly yes: 启用追加只写文件 (AOF) 持久化。与快照不同,Redis 记录每个写操作。这比 RDB 提供更好的持久性,但可能导致更大的持久化文件。
maxmemory <bytes>: 设置 Redis 可使用内存的上限。当达到此限制时,Redis 将开始基于配置的策略淘汰键。maxmemory-policy <policy>: 定义淘汰策略。常见值包括allkeys-lru(淘汰最近最少使用的键)、volatile-lru(淘汰带有过期时间设置的最近最少使用的键)和noeviction(当内存满时,写命令返回错误)。