*Redis CONFIG 命令

查看和修改 Redis 配置参数。


*语法

CONFIG GET parameter [parameter ...]
CONFIG SET parameter value
CONFIG RESETSTAT
CONFIG REWRITE

*子命令说明

子命令 说明
GET 获取一个或多个配置参数的值
SET 设置配置参数(运行时生效,不持久化)
RESETSTAT 重置 INFO 统计信息
REWRITE 将当前配置写入 redis.conf(持久化)

*返回值

子命令 返回值
GET 参数名和值数组
SET OK
RESETSTAT OK
REWRITE OK 或错误

*时间复杂度

O(1)

*

*示例

> CONFIG GET maxmemory
1) "maxmemory"
2) "0"

> CONFIG SET maxmemory 1gb
OK

> CONFIG GET maxmemory maxmemory-policy
1) "maxmemory"
2) "1073741824"
3) "maxmemory-policy"
4) "noeviction"

> CONFIG RESETSTAT
OK

> CONFIG REWRITE
OK

*常见错误

  1. 参数不存在:CONFIG GET 不存在的参数返回空数组。
  2. 值无效:CONFIG SET 传入无效值会报错。

*最佳实践

  1. 运行时调优:CONFIG SET 实时调整参数(如 maxmemory、timeout),无需重启。
  2. 持久化配置:修改后 CONFIG REWRITE 写入配置文件,确保重启后生效。

*FAQ

Q: CONFIG SET 修改后重启还有效吗? A: 不一定。CONFIG SET 只修改内存中的配置,重启后恢复为配置文件中的值。需要 CONFIG REWRITE 持久化。