Redis Client List 命令
Redis Client List 命令用於返回所有連接到伺服器的客戶端資訊和統計數據。
語法
redis Client List 命令基本語法如下:
redis 127.0.0.1:6379> CLIENT LIST
可用版本
>= 2.4.0
返回值
命令返回多行字串,這些字串按以下形式被格式化:
- 每個已連接客戶端對應一行(以 LF 分割)
- 每行字串由一系列 屬性=值 形式的域組成,每個域之間以空格分開
以下是域的含義:
- addr : 客戶端的地址和端口
- fd : 套接字所使用的檔描述符
- age : 以秒計算的已連接時長
- idle : 以秒計算的空閒時長
- flags : 客戶端 flag
- db : 該客戶端正在使用的資料庫 ID
- sub : 已訂閱頻道的數量
- psub : 已訂閱模式的數量
- multi : 在事務中被執行的命令數量
- qbuf : 查詢緩衝區的長度(位元組為單位, 0 表示沒有分配查詢緩衝區)
- qbuf-free : 查詢緩衝區剩餘空間的長度(位元組為單位, 0 表示沒有剩餘空間)
- obl : 輸出緩衝區的長度(位元組為單位, 0 表示沒有分配輸出緩衝區)
- oll : 輸出列表包含的對象數量(當輸出緩衝區沒有剩餘空間時,命令回復會以字串對象的形式被入隊到這個佇列裏)
- omem : 輸出緩衝區和輸出列表佔用的記憶體總量
- events : 檔描述符事件
- cmd : 最近一次執行的命令
客戶端 flag 可以由以下部分組成:
- O : 客戶端是 MONITOR 模式下的附屬節點(slave)
- S : 客戶端是一般模式下(normal)的附屬節點
- M : 客戶端是主節點(master)
- x : 客戶端正在執行事務
- b : 客戶端正在等待阻塞事件
- i : 客戶端正在等待 VM I/O 操作(已廢棄)
- d : 一個受監視(watched)的鍵已被修改, EXEC 命令將失敗
- c : 在將回復完整地寫出之後,關閉鏈接
- u : 客戶端未被阻塞(unblocked)
- A : 盡可能快地關閉連接
- N : 未設置任何 flag
檔描述符事件可以是:
- r : 客戶端套接字(在事件 loop 中)是可讀的(readable)
- w : 客戶端套接字(在事件 loop 中)是可寫的(writeable)
實例
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