Redis Client List 命令

Redis 服務(wù)器

Redis Client List 命令用于返回所有連接到服務(wù)器的客戶端信息和統(tǒng)計(jì)數(shù)據(jù)。

語(yǔ)法

redis Client List 命令基本語(yǔ)法如下:

redis 127.0.0.1:6379> CLIENT LIST

可用版本

>= 2.4.0

返回值

命令返回多行字符串,這些字符串按以下形式被格式化:

  • 每個(gè)已連接客戶端對(duì)應(yīng)一行(以 LF 分割)
  • 每行字符串由一系列 屬性=值 形式的域組成,每個(gè)域之間以空格分開(kāi)

以下是域的含義:

  • addr : 客戶端的地址和端口
  • fd : 套接字所使用的文件描述符
  • age : 以秒計(jì)算的已連接時(shí)長(zhǎng)
  • idle : 以秒計(jì)算的空閑時(shí)長(zhǎng)
  • flags : 客戶端 flag
  • db : 該客戶端正在使用的數(shù)據(jù)庫(kù) ID
  • sub : 已訂閱頻道的數(shù)量
  • psub : 已訂閱模式的數(shù)量
  • multi : 在事務(wù)中被執(zhí)行的命令數(shù)量
  • qbuf : 查詢緩沖區(qū)的長(zhǎng)度(字節(jié)為單位, 0 表示沒(méi)有分配查詢緩沖區(qū))
  • qbuf-free : 查詢緩沖區(qū)剩余空間的長(zhǎng)度(字節(jié)為單位, 0 表示沒(méi)有剩余空間)
  • obl : 輸出緩沖區(qū)的長(zhǎng)度(字節(jié)為單位, 0 表示沒(méi)有分配輸出緩沖區(qū))
  • oll : 輸出列表包含的對(duì)象數(shù)量(當(dāng)輸出緩沖區(qū)沒(méi)有剩余空間時(shí),命令回復(fù)會(huì)以字符串對(duì)象的形式被入隊(duì)到這個(gè)隊(duì)列里)
  • omem : 輸出緩沖區(qū)和輸出列表占用的內(nèi)存總量
  • events : 文件描述符事件
  • cmd : 最近一次執(zhí)行的命令

客戶端 flag 可以由以下部分組成:

  • O : 客戶端是 MONITOR 模式下的附屬節(jié)點(diǎn)(slave)
  • S : 客戶端是一般模式下(normal)的附屬節(jié)點(diǎn)
  • M : 客戶端是主節(jié)點(diǎn)(master)
  • x : 客戶端正在執(zhí)行事務(wù)
  • b : 客戶端正在等待阻塞事件
  • i : 客戶端正在等待 VM I/O 操作(已廢棄)
  • d : 一個(gè)受監(jiān)視(watched)的鍵已被修改, EXEC 命令將失敗
  • c : 在將回復(fù)完整地寫(xiě)出之后,關(guān)閉鏈接
  • u : 客戶端未被阻塞(unblocked)
  • A : 盡可能快地關(guān)閉連接
  • N : 未設(shè)置任何 flag

文件描述符事件可以是:

  • r : 客戶端套接字(在事件 loop 中)是可讀的(readable)
  • w : 客戶端套接字(在事件 loop 中)是可寫(xiě)的(writeable)

實(shí)例

redis 127.0.0.1:6379> CLIENT LIST
addr=127.0.0.1:43143 fd=6 age=183 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
addr=127.0.0.1:43163 fd=5 age=35 idle=15 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
addr=127.0.0.1:43167 fd=7 age=24 idle=6 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=get

Redis 服務(wù)器