扫码一下
查看教程更方便
Redis CLIENT SETNAME 命令为当前连接设置一个名字。
这个名字会显示在CLIENT LIST命令的结果中, 用于客户端识别当前与服务器之间的连接。
例如, 在使用 Redis 构建队列(queue)时, 可以根据连接负责的任务(role), 为信息生产者(producer)和信息消费者(consumer)分别设置不同的名字。
名字使用 Redis 的字符串类型来保存, 最大可以占用 512 MB 。 另外, 为了避免和CLIENT LIST 命令的输出格式发生冲突, 名字里不允许使用空格。
要移除一个连接的名字, 可以将连接的名字设为空字符串 “” 。
使用 CLIENT GETNAME 命令可以取出连接的名字。
新创建的连接默认是没有名字的。
提示:在 Redis 应用程序发生连接泄漏时,为连接设置名字是一种很好的 debug 手段。
redis Client Setname 命令基本语法如下:
redis 127.0.0.1:6379> CLIENT SETNAME connection-name
>= 2.6.9
设置成功时返回 OK 。
# 新连接默认没有名字
redis 127.0.0.1:6379> CLIENT GETNAME
(nil)
# 设置名字
redis 127.0.0.1:6379> CLIENT SETNAME hello-world-connection
OK
# 返回名字
redis 127.0.0.1:6379> CLIENT GETNAME
"hello-world-connection"
# 在客户端列表中查看
redis 127.0.0.1:6379> CLIENT LIST
addr=127.0.0.1:36851
fd=5
name=hello-world-connection # <- 名字
age=51
...
# 清除名字
redis 127.0.0.1:6379> CLIENT SETNAME # 只用空格是不行的!
(error) ERR Syntax error, try CLIENT (LIST | KILL ip:port)
redis 127.0.0.1:6379> CLIENT SETNAME "" # 必须双引号显示包围
OK
redis 127.0.0.1:6379> CLIENT GETNAME # 清除完毕
(nil)
CLIENT SETNAME 命令时间复杂度: O(1)