Redis CLIENT SETNAME 命令
Redis CLIENT SETNAME 为当前连接分配一个名字
( Redis >= 2.6.9 )
这个名字会显示在 CLIENT LIST 命令的结果中, 用于识别当前正在与服务器进行连接的客户端
比如,使用 Redis 构建队列(queue)时, 可以根据连接负责的任务(role), 为信息生产者(producer)和信息消费者(consumer)分别设置不同的名字
名字使用 Redis 的字符串类型来保存, 最大可以占用 512 MB
。
另外, 为了避免和 CLIENT LIST
命令的输出格式发生冲突, 名字里不允许使用空格。
要移除一个连接的名字, 可以将连接的名字设为空字符串 ""
使用 CLIENT GETNAME
命令可以取出连接的名字
新创建的连接默认是没有名字的
在 Redis 应用程序发生连接泄漏时,为连接设置名字是一种很好的 debug 手段
语法
Redis CLIENT SETNAME 命令语法如下:
127.0.0.1:6379> CLIENT SETNAME connection-name
返回值
设置成功时返回 OK
范例
127.0.0.1:6379> CLIENT GETNAME # 新连接默认没有名字 (nil) # 设置名字 127.0.0.1:6379> CLIENT SETNAME twle-cn-conn OK # 返回名字 127.0.0.1:6379> CLIENT GETNAME "twle-cn-conn" # 在客户端列表中查看 127.0.0.1:6379> CLIENT LIST id=3 addr=127.0.0.1:58429 fd=5 name=twle-cn-conn age=1281 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client # name 的值就是名字 ... # 清除名字 127.0.0.1:6379> CLIENT SETNAME # 只用空格是不行的! (error) ERR Syntax error, try CLIENT (LIST | KILL ip:port | GETNAME | SETNAME connection-name) 127.0.0.1:6379> CLIENT SETNAME "" # 必须双引号显示包围 OK 127.0.0.1:6379> CLIENT GETNAME # 清除完毕 (nil)