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
*返回值
整数: 使用的内存的字节数。