Redis 命令详解:Connection Management 命令
摘要
- 本文基于
redis-7.4.7 - Redis官网:https://redis.io/
Connection Management 简介
- Connection Management(连接管理) 是 Redis 用于管理客户端与服务器之间连接生命周期、连接状态、协议协商、身份认证、连接行为控制以及连接可观测性的一整套机制与命令集合。
- 在 Redis 内部,每一个客户端连接都会被抽象为一个 client 结构体,包含:
1 | Socket 连接信息(IP、端口、FD) |
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 |
集群调试 |