*Redis CLIENT GETNAME 命令 获取当前连接的名称
*语法说明
CLIENT GETNAME
*中文详细说明
CLIENT GETNAME 命令返回由 CLIENT SETNAME 命令为当前连接设置的名称。
为连接设置名称是一种非常有用的调试手段,尤其当应用出现连接泄漏时,通过 CLIENT LIST 可以快速识别各个连接的来源和用途。
- 新创建的连接默认没有名称
- 名称在 CLIENT LIST 的输出中以
name字段显示 - 名称最大可占用 512 MB(但实践中建议使用简短有意义的字符串)
- 名称中不允许包含空格(避免与 CLIENT LIST 的输出格式冲突)
- 使用
CLIENT SETNAME ""可清除连接名称
*可运行示例
*示例 1:新连接默认无名称
# 新建立的连接没有名称
redis-cli CLIENT GETNAME
预期输出:
(nil)
*示例 2:设置并获取连接名称
# 为当前连接设置名称
redis-cli CLIENT SETNAME "api-server:worker-1"
# 获取连接名称
redis-cli CLIENT GETNAME
预期输出:
OK
"api-server:worker-1"
*示例 3:清除连接名称后再获取
# 先设置名称
redis-cli CLIENT SETNAME "temp-connection"
# 清除名称(设为空字符串)
redis-cli CLIENT SETNAME ""
# 再次获取
redis-cli CLIENT GETNAME
预期输出:
OK
OK
(nil)
*示例 4:通过 CLIENT LIST 验证名称
# 设置名称
redis-cli CLIENT SETNAME "redis.com.cn-connection"
# 在 CLIENT LIST 中查找当前连接
redis-cli CLIENT LIST | grep redis.com.cn-connection
预期输出:
OK
id=42 addr=127.0.0.1:54321 name=redis.com.cn-connection ...
*返回值
- 批量字符串回复(Bulk String Reply):已设置名称时返回名称字符串
- 空批量字符串回复(Null Bulk String):未设置名称时返回
(nil)
*版本兼容性
| Redis 版本 | 变更说明 |
|---|---|
| >= 2.6.9 | 新增 CLIENT GETNAME 命令 |
| < 2.6.9 | 不支持此命令 |
*时间复杂度
O(1) — 常量时间。仅读取连接结构中的名称字段。