客户端管理
CLIENT ID
语法
CLIENT ID
此命令仅返回当前连接的 ID。每个连接 ID 都有一定的保证:
- 它永不重复,因此如果 CLIENT ID 返回相同的数字,调用者可以确定底层客户端没有断开连接并重新连接,而是仍然是相同的连接。
- ID 是单调递增的。如果一个连接的 ID 大于另一个连接的 ID,则保证第二个连接是在稍后的时间与服务器建立的。
Resp 回复
整数回复:客户端的 ID。
CLIENT INFO
语法
CLIENT INFO
此命令以易于阅读的格式返回有关当前客户端连接的信息和统计数据。
Resp 回复
批量字符串回复:当前客户端的唯一字符串,如 CLIENT LIST 页面所述。
CLIENT GETNAME
语法
CLIENT GETNAME
此命令返回由 CLIENT SETNAME 设置的当前连接的名称。
Resp 回复
批量字符串回复:客户端的名称,如果未设置名称则为空字符串。
CLIENT SETNAME
语法
CLIENT SETNAME <name>
此命令设置当前连接的名称。
Resp 回复
简单字符串回复:如果连接名称设置成功,则返回 OK。
CLIENT SETINFO
语法
CLIENT SETINFO <LIB-NAME libname | LIB-VER libver>
此命令设置当前客户端连接特定部分的值。
目前支持的属性有:
- LIB-NAME - 用于保存所使用的客户端库的名称。
- LIB-VER - 用于保存客户端库的版本。
Resp 回复
简单字符串回复:如果部分值设置成功,则返回 OK。
CLIENT KILL
语法
CLIENT KILL <ip:port | <[ID client-id] | [TYPE <NORMAL | MASTER |
SLAVE | REPLICA | PUBSUB>] | [USER username] | [ADDR ip:port] |
[LADDR ip:port] | [SKIPME <YES | NO>] | [MAXAGE maxage]
[[ID client-id] | [TYPE <NORMAL | MASTER | SLAVE | REPLICA |
PUBSUB>] | [USER username] | [ADDR ip:port] | [LADDR ip:port] |
[SKIPME <YES | NO>] | [MAXAGE maxage] ...]>>
CLIENT KILL 命令关闭给定的客户端连接。
- CLIENT KILL addr:port。此命令杀死与给定地址和端口匹配的客户端。
- CLIENT KILL ADDR ip:port。此命令杀死与给定地址和端口匹配的客户端。
- CLIENT KILL LADDR ip:port。杀死所有连接到指定本地(绑定)地址的客户端。
- CLIENT KILL ID client-id。允许通过其唯一 ID 字段杀死客户端。客户端 ID 通过 CLIENT LIST 命令检索。
- CLIENT KILL TYPE type,其中 type 是 normal、master、replica 和 pubsub 之一。此命令关闭指定类中所有客户端的连接。请注意,被 MONITOR 命令阻塞的客户端被认为是 normal 类。
- CLIENT KILL USER username。关闭所有使用指定 ACL 用户名进行身份验证的连接,但如果用户名未映射到现有 ACL 用户,则返回错误。
- CLIENT KILL SKIPME yes/no。默认情况下,此选项设置为 yes,即调用此命令的客户端不会被杀死,但将此选项设置为 no 会导致调用此命令的客户端也被杀死。
- CLIENT KILL MAXAGE maxage。关闭所有年龄大于指定秒数的连接。
Resp 回复
以下之一
- 简单字符串回复:当以 3 参数格式调用且连接已关闭时返回 OK。
- 整数回复:当以 filter/value 格式调用时,返回被杀死的客户端数量。
CLIENT LIST
语法
CLIENT LIST [TYPE <NORMAL | MASTER | REPLICA | PUBSUB>]
[ID client-id [client-id ...]]
CLIENT LIST 命令以易于阅读的格式返回有关服务器客户端连接的信息和统计数据。
您可以使用一个可选的子命令来过滤列表。TYPE type 子命令按客户端类型过滤列表,其中 type 是 normal、master、replica 和 pubsub 之一。
Resp 回复
批量字符串回复:有关客户端连接的信息和统计数据。
CLIENT UNBLOCK
语法
CLIENT UNBLOCK <client-id> [TIMEOUT | ERROR]
此命令解除被 BRPOP、XREAD 或 BLPOP 等阻塞命令阻塞的客户端。
可选参数指定如何解除阻塞客户端:
- TIMEOUT - 解除阻塞客户端,就像发生了超时一样(默认)
- ERROR - 解除阻塞客户端并返回错误
Resp 回复
整数回复:
- 如果客户端被解除阻塞,则返回 1
- 如果客户端未被阻塞,则返回 0