MEMORY USAGE
语法
MEMORY USAGE key [SAMPLES count]
- 可用版本
- Redis 开源版 4.0.0
- 时间复杂度
- O(N),其中 N 是采样数。
- ACL 类别
-
@read
,@slow
,
MEMORY USAGE
命令报告键及其值存储在 RAM 中所需的字节数。
报告的用量是一个键及其值所需的数据和管理开销的总内存分配量。
对于嵌套数据类型,可以提供可选的 SAMPLES
选项,其中 count
是采样的嵌套值的数量。样本会被平均以估计总大小。默认情况下,此选项设置为 5
。要采样所有嵌套值,请使用 SAMPLES 0
。
示例
在 Redis v7.2.0 64 位和 jemalloc 下,空字符串的测量结果如下:
> SET "" ""
OK
> MEMORY USAGE ""
(integer) 56
这些字节目前是纯开销,因为没有存储实际数据,它们用于维护服务器的内部数据结构(包括内部分配器碎片)。更长的键和值会显示渐近线性的用量。
> SET foo bar
OK
> MEMORY USAGE foo
(integer) 56
> SET foo2 mybar
OK
> MEMORY USAGE foo2
(integer) 64
> SET foo3 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
OK
> MEMORY USAGE foo3
(integer) 160
Redis Software 和 Redis Cloud 兼容性
Redis 企业版 |
Redis 云版 |
备注 |
---|---|---|
✅ 标准版 |
✅ 标准版 |
Redis 7.0 之前的版本不支持 脚本。 |
注意:键内存使用量在 Redis Software 或 Redis Cloud 主动-主动数据库上与非主动-主动数据库上的不同。这是因为内存使用量包含一定量的 CRDB 开销。
RESP2 回复
以下之一
RESP3 回复
以下之一