CLIENT LIST [TYPE normal|master|replica|pubsub]

Available since 2.4.0.

Time complexity: O(N) where N is the number of client connections

The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format.

As of v5.0, the optional TYPE type subcommand can be used to filter the list by clients' type, where type is one of normal, master, replica and pubsub. Note that clients blocked into the MONITOR command are considered to belong to the normal class.

*Return value

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: an unique 64-bit client ID (introduced in Redis 2.8.12).
  • name: the name set by the client with CLIENT SETNAME
  • addr: address/port of the client
  • fd: file descriptor corresponding to the socket
  • age: total duration of the connection in seconds
  • idle: idle time of the connection in seconds
  • flags: client flags (see below)
  • db: current database ID
  • sub: number of channel subscriptions
  • psub: number of pattern matching subscriptions
  • multi: number of commands in a MULTI/EXEC context
  • qbuf: query buffer length (0 means no query pending)
  • qbuf-free: free space of the query buffer (0 means the buffer is full)
  • obl: output buffer length
  • oll: output list length (replies are queued in this list when the buffer is full)
  • omem: output buffer memory usage
  • events: file descriptor events (see below)
  • cmd: last command played

The client flags can be a combination of:

  1. A: connection to be closed ASAP
  2. b: the client is waiting in a blocking operation
  3. c: connection to be closed after writing entire reply
  4. d: a watched keys has been modified - EXEC will fail
  5. i: the client is waiting for a VM I/O (deprecated)
  6. M: the client is a master
  7. N: no specific flag set
  8. O: the client is a client in MONITOR mode
  9. P: the client is a Pub/Sub subscriber
  10. r: the client is in readonly mode against a cluster node
  11. S: the client is a replica node connection to this instance
  12. u: the client is unblocked
  13. U: the client is connected via a Unix domain socket
  14. x: the client is in a MULTI/EXEC context

The file descriptor events can be:

  1. r: the client socket is readable (event loop)
  2. 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).