memory usage 命令
命令
MEMORY USAGE
给出一个 key 和它值在 RAM 中占用的字节数。返回的结果是 key 的值以及为管理该 key 分配的内存总字节数。对于嵌套数据类型,可以使用选项
SAMPLES
,其中 COUNT 表示抽样的元素个数,默认值为5。当需要抽样所有元素时,使用
SAMPLES 0
语法
MEMORY USAGE key[SAMPLES count]
返回值
使用的内存的字节数
例子
在redis 64位版本V4.0.1 和 jemalloc 做内存分配器的情况下,空string 可定义如下:
redis>; SET "" "" OK redis>; MEMORY USAGE "" (integer) 51
如上,实际数据为空,但是存储时仍然耗费了一些内存,这些内存用于Redis 服务器维护内部数据结构。随着key和value的增大,内存使用量和key 大小基本成线性关系。
redis>; SET foo bar OK redis>; MEMORY USAGE foo (integer) 54 redis>; SET cento 01234567890123456789012345678901234567890123 45678901234567890123456789012345678901234567890123456789 OK redis>; MEMORY USAGE cento (integer) 153