Redis 命令详解:Connection Management 命令

摘要

Connection Management 简介

  • Connection Management(连接管理) 是 Redis 用于管理客户端与服务器之间连接生命周期、连接状态、协议协商、身份认证、连接行为控制以及连接可观测性的一整套机制与命令集合。
  • 在 Redis 内部,每一个客户端连接都会被抽象为一个 client 结构体,包含:
1
2
3
4
5
6
7
8
9
Socket 连接信息(IP、端口、FD)
协议版本(RESP2 / RESP3)
用户身份(ACL User)
连接名称(Client Name)
阻塞状态(Blocked / Unblocked)
输入输出缓冲区
命令统计信息
Tracking / Caching 状态
最近活动时间

Connection Management 命令详解

一、连接建立 / 协议协商 / 基础通信

  • 用于客户端与 Redis 建立连接、确认协议版本、心跳检测。

命令 语法 参数说明 示例 典型用途
HELLO HELLO [protover] [AUTH user pass] [SETNAME name] protover:协议版本(2/3)
AUTH:连接时认证
SETNAME:设置连接名
HELLO 3 AUTH default pwd SETNAME app-1 协议协商、一次性完成认证
AUTH AUTH [username] password 用户名可选(ACL 模式) AUTH app secret 登录认证
PING PING [message] message:可选回显内容 PING 心跳检测
ECHO ECHO message message:任意字符串 ECHO hello 连通性测试
QUIT QUIT QUIT 关闭连接

二、客户端身份与连接信息

  • 用于识别和查询客户端连接状态。

命令 语法 参数说明 示例 典型用途
CLIENT ID CLIENT ID 返回当前连接 ID CLIENT ID 连接唯一标识
CLIENT GETNAME CLIENT GETNAME 获取连接名称 CLIENT GETNAME 连接识别
CLIENT SETNAME CLIENT SETNAME name 设置连接名称 CLIENT SETNAME order-service 连接可观测性
CLIENT INFO CLIENT INFO 返回当前客户端详细信息 CLIENT INFO 调试连接状态
CLIENT LIST CLIENT LIST [TYPE type] [ID id] 列出所有客户端 CLIENT LIST TYPE normal 运维诊断
CLIENT GETREDIR CLIENT GETREDIR 返回客户端重定向状态 CLIENT GETREDIR 集群调试

三、客户端连接控制 / 生命周期管理

  • 用于管理其他客户端连接。

命令 语法 参数说明 示例 典型用途
CLIENT KILL CLIENT KILL <filter> 按条件关闭连接 CLIENT KILL TYPE normal 清理异常连接
CLIENT UNBLOCK CLIENT UNBLOCK client-id [TIMEOUT|ERROR] 解除阻塞客户端 CLIENT UNBLOCK 1234 解死锁
CLIENT PAUSE CLIENT PAUSE timeout [WRITE|ALL] 暂停客户端命令处理 CLIENT PAUSE 1000 WRITE 流量削峰
CLIENT UNPAUSE CLIENT UNPAUSE 恢复处理 CLIENT UNPAUSE 恢复服务
CLIENT REPLY CLIENT REPLY ON|OFF|SKIP 控制是否返回响应 CLIENT REPLY OFF 管道优化

四、客户端行为控制(缓存、访问、跟踪)

  • 用于控制客户端与 Redis 的交互行为。

命令 语法 参数说明 示例 典型用途
CLIENT CACHING CLIENT CACHING YES|NO 开启/关闭客户端缓存 CLIENT CACHING YES 客户端缓存优化
CLIENT TRACKING CLIENT TRACKING ON [options] 开启 key 失效跟踪 CLIENT TRACKING ON 客户端缓存一致性
CLIENT TRACKINGINFO CLIENT TRACKINGINFO 查询跟踪状态 CLIENT TRACKINGINFO 调试
CLIENT NO-TOUCH CLIENT NO-TOUCH ON|OFF 禁止更新 LRU/LFU CLIENT NO-TOUCH ON 热度统计控制
CLIENT NO-EVICT CLIENT NO-EVICT ON|OFF 禁止触发淘汰 CLIENT NO-EVICT ON 防止误淘汰
CLIENT SETINFO CLIENT SETINFO LIB-NAME name 设置客户端库信息 CLIENT SETINFO LIB-NAME my-sdk 可观测性

五、协议行为与响应控制

  • 用于调试和高级客户端行为控制。

命令 语法 参数说明 示例 典型用途
CLIENT REPLY CLIENT REPLY ON|OFF|SKIP 控制是否接收响应 CLIENT REPLY SKIP Pipeline 优化
CLIENT GETREDIR CLIENT GETREDIR 获取重定向信息 CLIENT GETREDIR 集群调试