Redis 命令详解:Server Management 命令

摘要

Server Management 简介

  • Server Management Commands 是用于管理 Redis 服务器实例本身运行状态、资源、配置、安全、复制、持久化、模块和诊断能力的一组系统级命令。
  • 不建议在业务代码中调用。
  • 不操作业务数据内容,而是操作:
1
2
3
4
5
6
7
8
Redis 服务进程状态
内存 / CPU / IO
持久化机制
主从复制 / 高可用
安全权限
配置项
模块生命周期
性能诊断

Server Management 命令详解

一、ACL 权限与安全管理

命令 语法 参数说明 示例
ACL CAT ACL CAT [category] 查看命令分类或某分类下命令 ACL CAT admin
ACL USERS ACL USERS 列出所有用户 ACL USERS
ACL WHOAMI ACL WHOAMI 显示当前连接用户 ACL WHOAMI
ACL GETUSER ACL GETUSER username 查询用户权限 ACL GETUSER app
ACL SETUSER ACL SETUSER username [rule ...] 创建/修改用户规则 ACL SETUSER app on >pwd ~* +get
ACL DELUSER ACL DELUSER username [username ...] 删除用户 ACL DELUSER test
ACL LIST ACL LIST 列出 ACL 配置规则 ACL LIST
ACL LOAD ACL LOAD 从配置文件加载 ACL ACL LOAD
ACL SAVE ACL SAVE 将 ACL 写入磁盘 ACL SAVE
ACL LOG ACL LOG [count|RESET] 查看权限拒绝日志 ACL LOG 10
ACL DRYRUN ACL DRYRUN username command [args...] 模拟权限校验 ACL DRYRUN app GET k1
ACL GENPASS ACL GENPASS [bits] 生成随机密码 ACL GENPASS 128

二、持久化与后台任务

命令 语法 参数说明 示例
SAVE SAVE 同步生成 RDB 快照(阻塞) SAVE
BGSAVE BGSAVE 后台生成 RDB BGSAVE
BGREWRITEAOF BGREWRITEAOF 重写 AOF 文件 BGREWRITEAOF
LASTSAVE LASTSAVE 最近一次 RDB 保存时间 LASTSAVE
SHUTDOWN SHUTDOWN [NOSAVE|SAVE] 关闭 Redis 实例 SHUTDOWN SAVE

三、命令元信息与能力发现

命令 语法 参数说明 示例
COMMAND COMMAND 返回所有命令信息 COMMAND
COMMAND COUNT COMMAND COUNT 返回命令总数 COMMAND COUNT
COMMAND LIST COMMAND LIST 返回命令列表 COMMAND LIST
COMMAND INFO COMMAND INFO cmd [cmd ...] 查询命令元数据 COMMAND INFO GET SET
COMMAND DOCS COMMAND DOCS [cmd ...] 返回命令文档 COMMAND DOCS GET
COMMAND GETKEYS COMMAND GETKEYS cmd args... 解析命令中的 key COMMAND GETKEYS MSET a 1 b 2
COMMAND GETKEYSANDFLAGS COMMAND GETKEYSANDFLAGS cmd args... 返回 key 与访问标志 COMMAND GETKEYSANDFLAGS SET k v

四、配置与运行状态

命令 语法 参数说明 示例
CONFIG GET CONFIG GET pattern 查询配置 CONFIG GET maxmemory*
CONFIG SET CONFIG SET key value 修改配置 CONFIG SET timeout 300
CONFIG RESETSTAT CONFIG RESETSTAT 重置统计信息 CONFIG RESETSTAT
CONFIG REWRITE CONFIG REWRITE 重写配置文件 CONFIG REWRITE
INFO INFO [section] 查看运行状态 INFO memory
DBSIZE DBSIZE 当前 DB key 数量 DBSIZE
TIME TIME 返回服务器时间 TIME
LOLWUT LOLWUT 调试彩蛋命令 LOLWUT

五、数据库管理

命令 语法 参数说明 示例
FLUSHDB FLUSHDB [ASYNC] 清空当前 DB FLUSHDB ASYNC
FLUSHALL FLUSHALL [ASYNC] 清空所有 DB FLUSHALL
SWAPDB SWAPDB index1 index2 交换两个 DB SWAPDB 0 1

六、复制、主从、高可用

命令 语法 参数说明 示例
REPLICAOF REPLICAOF host port 设置为从节点 REPLICAOF 10.0.0.1 6379
SLAVEOF SLAVEOF host port REPLICAOF (旧别名) SLAVEOF NO ONE
SYNC SYNC 全量复制(旧协议) SYNC
PSYNC PSYNC replid offset 增量复制 PSYNC ? -1
REPLCONF REPLCONF option value 复制参数协商 REPLCONF capa eof
ROLE ROLE 查询节点角色 ROLE
FAILOVER FAILOVER [TO host port] 触发主从切换 FAILOVER
RESTORE-ASKING RESTORE-ASKING 集群迁移辅助 RESTORE-ASKING

七、延迟与慢查询诊断

命令 语法 参数说明 示例
LATENCY DOCTOR LATENCY DOCTOR 自动诊断延迟问题 LATENCY DOCTOR
LATENCY GRAPH LATENCY GRAPH event 延迟图 LATENCY GRAPH command
LATENCY HISTOGRAM LATENCY HISTOGRAM event 延迟分布 LATENCY HISTOGRAM command
LATENCY HISTORY LATENCY HISTORY event 历史记录 LATENCY HISTORY command
LATENCY LATEST LATENCY LATEST 最近延迟事件 LATENCY LATEST
LATENCY RESET LATENCY RESET [event] 重置统计 LATENCY RESET
SLOWLOG GET SLOWLOG GET [n] 获取慢日志 SLOWLOG GET 10
SLOWLOG LEN SLOWLOG LEN 慢日志条数 SLOWLOG LEN
SLOWLOG RESET SLOWLOG RESET 清空慢日志 SLOWLOG RESET
MONITOR MONITOR 实时监听所有命令 MONITOR

八、内存诊断与优化

命令 语法 参数说明 示例
MEMORY USAGE MEMORY USAGE key [SAMPLES n] key 占用内存 MEMORY USAGE k1
MEMORY STATS MEMORY STATS 内存统计 MEMORY STATS
MEMORY DOCTOR MEMORY DOCTOR 内存问题诊断 MEMORY DOCTOR
MEMORY PURGE MEMORY PURGE 释放碎片 MEMORY PURGE
MEMORY MALLOC-STATS MEMORY MALLOC-STATS 分配器统计 MEMORY MALLOC-STATS

九、模块管理(Redis Modules)

命令 语法 参数说明 示例
MODULE LIST MODULE LIST 查看已加载模块 MODULE LIST
MODULE LOAD MODULE LOAD path [args...] 加载模块 MODULE LOAD /opt/redisearch.so
MODULE LOADEX MODULE LOADEX path [CONFIG ...] 扩展加载参数 MODULE LOADEX mod.so CONFIG a 1
MODULE UNLOAD MODULE UNLOAD name 卸载模块 MODULE UNLOAD redisearch