内存使用情况
语法
MEMORY USAGE key [SAMPLES count]
- 从以下位置开始可用:
- 4.0.0
- 时间复杂度:
- O(N),其中 N 是样本数。
- ACL 类别:
-
@read
,@slow
,
这MEMORY USAGE
命令报告键及其值的字节数
需要存储在 RAM 中。
报告的使用情况是 data 和 key 及其值所需的管理开销。
对于嵌套数据类型,可选的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 软件和 Redis Cloud 的兼容性
Redis 企业版 |
Redis 云 |
笔记 |
---|---|---|
✅ 标准 |
✅ 标准 |
不支持 Redis 7 之前的版本中的脚本。 |
注意:Redis Software 或 Redis Cloud 双活数据库上的密钥内存使用情况与非主动-主动数据库上的密钥内存使用情况不同。这是因为内存使用包括一定量的 CRDB 开销。
RESP2 回复
以下选项之一:
- Integer reply:内存使用情况(以字节为单位)。
- nil 回复:如果密钥不存在。
RESP3 回复
以下选项之一:
- Integer reply:内存使用情况(以字节为单位)。
- Null 回复:如果 key 不存在。