CLIENT LIST
CLIENT LIST [TYPE <NORMAL | MASTER | REPLICA | PUBSUB>] [ID client-id [client-id ...]]
- Available since:
- 2.4.0
- Time complexity:
- O(N) where N is the number of client connections
- ACL categories:
-
@admin
,@slow
,@dangerous
,@connection
,
The CLIENT LIST
command returns information and statistics about the client
connections server in a mostly human readable format.
You can use one of the optional subcommands to filter the list. The TYPE type
subcommand filters the list by clients' type, where type is one of normal
, master
, replica
, and pubsub
. Note that clients blocked by the MONITOR
command belong to the normal
class.
The ID
filter only returns entries for clients with IDs matching the client-id
arguments.
Return
Bulk string reply: a unique string, formatted as follows:
- One client connection per line (separated by LF)
- Each line is composed of a succession of
property=value
fields separated by a space character.
Here is the meaning of the fields:
id
: a unique 64-bit client IDaddr
: address/port of the clientladdr
: address/port of local address client connected to (bind address)fd
: file descriptor corresponding to the socketname
: the name set by the client withCLIENT SETNAME
age
: total duration of the connection in secondsidle
: idle time of the connection in secondsflags
: client flags (see below)db
: current database IDsub
: number of channel subscriptionspsub
: number of pattern matching subscriptionsssub
: number of shard channel subscriptions. Added in Redis 7.0.3multi
: number of commands in a MULTI/EXEC contextqbuf
: query buffer length (0 means no query pending)qbuf-free
: free space of the query buffer (0 means the buffer is full)argv-mem
: incomplete arguments for the next command (already extracted from query buffer)multi-mem
: memory is used up by buffered multi commands. Added in Redis 7.0obl
: output buffer lengtholl
: output list length (replies are queued in this list when the buffer is full)omem
: output buffer memory usagetot-mem
: total memory consumed by this client in its various buffersevents
: file descriptor events (see below)cmd
: last command playeduser
: the authenticated username of the clientredir
: client id of current client tracking redirectionresp
: client RESP protocol version. Added in Redis 7.0
The client flags can be a combination of:
A: connection to be closed ASAP
b: the client is waiting in a blocking operation
c: connection to be closed after writing entire reply
d: a watched keys has been modified - EXEC will fail
e: the client is excluded from the client eviction mechanism
i: the client is waiting for a VM I/O (deprecated)
M: the client is a master
N: no specific flag set
O: the client is a client in MONITOR mode
P: the client is a Pub/Sub subscriber
r: the client is in readonly mode against a cluster node
S: the client is a replica node connection to this instance
u: the client is unblocked
U: the client is connected via a Unix domain socket
x: the client is in a MULTI/EXEC context
t: the client enabled keys tracking in order to perform client side caching
T: the client will not touch the LRU/LFU of the keys it accesses
R: the client tracking target client is invalid
B: the client enabled broadcast tracking mode
The file descriptor events can be:
r: the client socket is readable (event loop)
w: the client socket is writable (event loop)
Notes
New fields are regularly added for debugging purpose. Some could be removed in the future. A version safe Redis client using this command should parse the output accordingly (i.e. handling gracefully missing fields, skipping unknown fields).
History
- Starting with Redis version 2.8.12: Added unique client
id
field. - Starting with Redis version 5.0.0: Added optional
TYPE
filter. - Starting with Redis version 6.0.0: Added
user
field. - Starting with Redis version 6.2.0: Added
argv-mem
,tot-mem
,laddr
andredir
fields and the optionalID
filter. - Starting with Redis version 7.0.0: Added
resp
,multi-mem
,rbs
andrbp
fields. - Starting with Redis version 7.0.3: Added
ssub
field.