MEMORY USAGE key [SAMPLES count]

MEMORY USAGE 命令给出一个 key 和它的值在 RAM 中所占用的字节数。

返回的结果是 key 的值以及为管理该 key 分配的内存总字节数。

对于嵌套数据类型,可以使用选项 SAMPLES,其中 count 表示抽样的元素个数,默认值为 5 。当需要抽样所有元素时,使用 SAMPLES 0

*语法

redis MEMORY USAGE 命令基本语法如下:

redis 127.0.0.1:6379> MEMORY USAGE key [SAMPLES count]

*例子

在 redis 64 位版本 V4.0.1 和 jemalloc 做内存分配器的情况下,空 string 可定义如下:

> SET "" ""
OK
> MEMORY USAGE ""
(integer) 51

如上,实际数据为空,但是存储时仍然耗费了一些内存,这些内存用于 Redis 服务器维护内部数据结构。随着 key 和 value 的增大,内存使用量和 key 大小基本成线性关系。

> SET foo bar
OK
> MEMORY USAGE foo
(integer) 54
> SET cento 01234567890123456789012345678901234567890123
45678901234567890123456789012345678901234567890123456789
OK
127.0.0.1:6379> MEMORY USAGE cento
(integer) 153

*返回值

整数: 使用的内存的字节数。