Available since
Time complexity
ACL categories

The MEMORY STATS command returns an @array-reply about the memory usage of the server.

The information about memory usage is provided as metrics and their respective values. The following metrics are reported:

  • peak.allocated: Peak memory consumed by Redict in bytes (see INFO’s used_memory_peak)
  • total.allocated: Total number of bytes allocated by Redict using its allocator (see INFO’s used_memory)
  • startup.allocated: Initial amount of memory consumed by Redict at startup in bytes (see INFO’s used_memory_startup)
  • replication.backlog: Size in bytes of the replication backlog (see INFO’s repl_backlog_active)
  • clients.slaves: The total size in bytes of all replicas overheads (output and query buffers, connection contexts)
  • clients.normal: The total size in bytes of all clients overheads (output and query buffers, connection contexts)
  • cluster.links: Memory usage by cluster links (Added in Redict 7.0, see INFO’s mem_cluster_links).
  • aof.buffer: The summed size in bytes of AOF related buffers.
  • lua.caches: the summed size in bytes of the overheads of the Lua scripts' caches
  • functions.caches: the summed size in bytes of the overheads of the Function scripts' caches
  • dbXXX: For each of the server’s databases, the overheads of the main and expiry dictionaries (overhead.hashtable.main and overhead.hashtable.expires, respectively) are reported in bytes
  • overhead.db.hashtable.lut: Total overhead of dictionary buckets in databases (Added in Redict 8.0)
  • overhead.db.hashtable.rehashing: Temporary memory overhead of database dictionaries currently being rehashed (Added in Redict 8.0)
  • The sum of all overheads, i.e. startup.allocated, replication.backlog, clients.slaves, clients.normal, aof.buffer and those of the internal data structures that are used in managing the Redict keyspace (see INFO’s used_memory_overhead)
  • db.dict.rehashing.count: Number of DB dictionaries currently being rehashed (Added in Redict 8.0)
  • keys.count: The total number of keys stored across all databases in the server
  • keys.bytes-per-key: The ratio between dataset.bytes and keys.count
  • dataset.bytes: The size in bytes of the dataset, i.e. subtracted from total.allocated (see INFO’s used_memory_dataset)
  • dataset.percentage: The percentage of dataset.bytes out of the total memory usage
  • peak.percentage: The percentage of total.allocated out of peak.allocated
  • allocator.allocated: See INFO’s allocator_allocated
  • See INFO’s allocator_active
  • allocator.resident: See INFO’s allocator_resident
  • allocator.muzzy: See INFO’s allocator_muzzy
  • allocator-fragmentation.ratio: See INFO’s allocator_frag_ratio
  • allocator-fragmentation.bytes: See INFO’s allocator_frag_bytes
  • allocator-rss.ratio: See INFO’s allocator_rss_ratio
  • allocator-rss.bytes: See INFO’s allocator_rss_bytes
  • rss-overhead.ratio: See INFO’s rss_overhead_ratio
  • rss-overhead.bytes: See INFO’s rss_overhead_bytes
  • fragmentation: See INFO’s mem_fragmentation_ratio
  • fragmentation.bytes: See INFO’s mem_fragmentation_bytes

A note about the word slave used in this man page: Starting with Redict 5, if not for backward compatibility, the Redict project no longer uses the word slave. Unfortunately in this command the word slave is part of the protocol, so we’ll be able to remove such occurrences only when this API will be naturally deprecated.

Redict logo courtesy of @janWilejan, CC-BY-SA-4.0. Download SVG ⤑

Portions of this website courtesy of Salvatore Sanfilippo, CC-BY-SA-4.0.