SERVER 是 Redis 服务器信息命令组,用于获取 Redis 服务器的各种运行状态和配置信息。主要包括 INFO、CONFIG、CLIENT、TIME、LASTSAVE 等命令。
SERVER 命令组包含以下核心命令:
INFO [section]
CONFIG GET parameter
CONFIG SET parameter value
CONFIG REWRITE
CLIENT LIST [TYPE type] [ID id [id ...]]
CLIENT KILL [ip:port] [ID client-id] [TYPE type] [USER username] [ADDR addr] [SKIPME yes/no]
TIME
LASTSAVE
DBSIZE
MONITOR
SAVE
BGSAVE
SHUTDOWN [NOSAVE|SAVE] [NOW] [FORCE] [ABORT]
FLUSHDB [ASYNC|SYNC]
FLUSHALL [ASYNC|SYNC]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| section | String | 否 | INFO 的信息分类,如 server、clients、memory 等 |
| parameter | String | 是 | 配置参数名 |
| value | String | 是 | 配置参数值 |
| type | String | 否 | 客户端类型过滤(normal、master、replica、pubsub) |
| id | Integer | 否 | 客户端 ID |
> INFO server
# Server
redis_version:7.2.0
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:...
redis_mode:standalone
os:Linux 5.4.0
arch_bits:64
gcc_version:9.3.0
process_id:1
run_id:...
tcp_port:6379
uptime_in_seconds:3600
uptime_in_days:0
> INFO memory
# Memory
used_memory:1048576
used_memory_human:1.00M
used_memory_rss:2097152
used_memory_peak:2097152
used_memory_peak_human:2.00M
> CONFIG GET maxmemory
1) "maxmemory"
2) "0"
> CONFIG SET maxmemory 1073741824
OK
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR unknown command | 命令不存在 | 检查命令拼写和 Redis 版本 |
| ERR CONFIG SET failed | 配置值无效或超出范围 | 检查参数值的有效性 |
| ERR Client not found | 指定的客户端 ID 不存在 | 使用 CLIENT LIST 确认 ID |
Q1: INFO 命令返回的数据格式是什么? A: INFO 返回纯文本格式,以 # 开头的行表示 section 名称,其他行为 key:value 格式。
Q2: CONFIG SET 修改的配置会立即生效吗? A: 大多数配置会立即生效,但部分配置需要重启才能生效。CONFIG SET 修改的配置不会自动保存到配置文件。
Q3: 如何查看所有客户端连接? A: 使用 CLIENT LIST 命令。可以配合 TYPE、ID 等参数过滤特定类型的客户端。