Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis MEMORY USAGE 命令

Redis 服务器 Redis 服务器


Redis MEMORY USAGE 命令给出一个 key 和它值在 RAM 中占用的字节数。返回的结果是 key 的值以及为管理该 key 分配的内存总字节数。对于嵌套数据类型,可以使用选项 SAMPLES,其中 COUNT 表示抽样的元素个数,默认值为 5。当需要抽样所有元素时,使用 SAMPLES 0。

命令格式

MEMORY USAGE key [SAMPLES count]

可用版本:>=4.0.0

时间复杂度:O(N),N 为 SAMPLES 的个数

命令返回值

返回使用的内存的字节数。

示例

在 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