# CLIENT LIST
**CLIENT LIST**
以人類可讀的格式,返回所有連接到服務器的客戶端信息和統計數據。
```
redis> 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
```
**可用版本**
>= 2.4.0
**時間復雜度**
O(N) , N 為連接到服務器的客戶端數量。
**返回值**
命令返回多行字符串,這些字符串按以下形式被格式化:
* 每個已連接客戶端對應一行(以 `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)
Note
為了 debug 的需要,經常會對域進行添加和刪除,一個安全的 Redis 客戶端應該可以對 `CLIENT LIST` 的輸出進行相應的處理(parse),比如忽略不存在的域,跳過未知域,諸如此類。
- Redis 教程
- Redis 簡介
- Redis 安裝
- Redis 配置
- Redis 數據類型
- Redis 命令
- Redis 數據備份與恢復
- Redis 安全
- Redis 性能測試
- Redis 客戶端連接
- Redis 管道技術
- Redis 分區
- Java 使用 Redis
- Java 使用 Redis
- PHP 使用 Redis
- PHP 使用 Redis
- Redis 命令參考
- Key(鍵)
- DEL
- DUMP
- EXISTS
- EXPIRE
- EXPIREAT
- KEYS
- MIGRATE
- MOVE
- OBJECT
- PERSIST
- PEXPIRE
- PEXPIREAT
- PTTL
- RANDOMKEY
- RENAME
- RENAMENX
- RESTORE
- SORT
- TYPE
- SCAN
- String(字符串)
- APPEND
- BITCOUNT
- BITOP
- DECR
- DECRBY
- GET
- GETBIT
- GETRANGE
- GETSET
- INCR
- INCRBY
- INCRBYFLOAT
- MGET
- MSET
- MSETNX
- PSETEX
- SET
- SETBIT
- SETEX
- SETNX
- SETRANGE
- STRLEN
- Hash(哈希表)
- HDEL
- HEXISTS
- HGET
- HGETALL
- HINCRBY
- HINCRBYFLOAT
- HKEYS
- HLEN
- HMGET
- HMSET
- HSET
- HSETNX
- HVALS
- HSCAN
- List(列表)
- BLPOP
- BRPOP
- BRPOPLPUSH
- LINDEX
- LINSERT
- LLEN
- LPOP
- LPUSH
- LRANGE
- LREM
- LSET
- LTRIM
- RPOP
- RPOPLPUSH
- RPUSH
- RPUSHX
- Set(集合)
- SADD
- SCARD
- SDIFF
- SDIFFSTORE
- SINTER
- SINTER
- SINTERSTORE
- SISMEMBER
- SMEMBERS
- SMOVE
- SPOP
- SRANDMEMBER
- SREM
- SUNION
- SUNIONSTORE
- SSCAN
- SortedSet(有序集合)
- ZADD
- ZCARD
- ZCOUNT
- ZINCRBY
- ZRANGE
- ZRANGEBYSCORE
- ZRANK
- ZREM
- ZREMRANGEBYRANK
- ZREMRANGEBYSCORE
- ZREVRANGE
- ZREVRANGEBYSCORE
- ZREVRANK
- ZSCORE
- ZUNIONSTORE
- ZINTERSTORE
- ZSCAN
- Pub/Sub(發布/訂閱)
- PSUBSCRIBE
- PUBLISH
- PUBSUB
- PUNSUBSCRIBE
- SUBSCRIBE
- UNSUBSCRIBE
- Transaction(事務)
- DISCARD
- EXEC
- MULTI
- UNWATCH
- WATCH
- Script(腳本)
- EVAL
- EVALSHA
- SCRIPT EXISTS
- SCRIPT FLUSH
- SCRIPT KILL
- SCRIPT LOAD
- Connection(連接)
- AUTH
- ECHO
- PING
- QUIT
- SELECT
- Server(服務器)
- BGREWRITEAOF
- BGSAVE
- CLIENT GETNAME
- CLIENT KILL
- CLIENT LIST
- CLIENT SETNAME
- CONFIG GET
- CONFIG RESETSTAT
- CONFIG REWRITE
- CONFIG SET
- DBSIZE
- DEBUG OBJECT
- DEBUG SEGFAULT
- FLUSHALL
- FLUSHDB
- INFO
- LASTSAVE
- MONITOR
- PSYNC
- SAVE
- SHUTDOWN
- SLAVEOF
- SLOWLOG
- SYNC
- TIME
- 免責聲明