*Redis CLIENT SETINFO 命令

设置当前连接使用的客户端库名称和版本。Redis 7.2+ 引入,用于服务器端识别客户端来源和版本。


*语法

CLIENT SETINFO lib-name <library-name>
CLIENT SETINFO lib-ver <library-version>

*参数说明

参数 类型 必填 说明
lib-name 标志 条件 设置客户端库名称
library-name String 库名称(如 redis-py、jedis、ioredis)
lib-ver 标志 条件 设置客户端库版本
library-version String 库版本号

*返回值

条件 返回值
成功 OK
格式错误 错误

*时间复杂度

O(1)

*

*示例

> CLIENT SETINFO lib-name redis-py
OK
> CLIENT SETINFO lib-ver 4.5.0
OK

# 验证
> CLIENT INFO
... lib-name=redis-py lib-ver=4.5.0 ...

*常见错误

  1. 错误的子命令:只支持 lib-namelib-ver,其他子命令报错。

*最佳实践

  1. 客户端库标识:客户端库连接 Redis 时自动调用 CLIENT SETINFO,便于服务器端识别客户端来源和版本,排查兼容性问题。
  2. 监控统计INFO clients 和 CLIENT LIST 会显示 lib-name 和 lib-ver,用于统计客户端分布。

*FAQ

Q: CLIENT SETINFO 和 CLIENT SETNAME 有什么区别? A: CLIENT SETNAME 设置连接名称(由用户或应用自定义);CLIENT SETINFO 设置客户端库名称和版本(由客户端 SDK 自动设置)。两者用途不同,可以同时使用。

Q: 客户端库会自动调用 CLIENT SETINFO 吗? A: 主流 Redis 客户端库(redis-py、jedis、ioredis 等)在 Redis 7.2+ 连接时会自动发送 CLIENT SETINFO。