4

我想实时查看使用了多少内存,例如,每次设置或插入一些数据时,我想知道增加了多少内存,总共使用了多少。

我尝试使用INFO命令,并检查used_memoryorused_memory_*属性是否有效,但抱歉我发现它只显示系统分配的内存,因为每次我插入新数据后检查它,它们仍然保持不变

有什么方法可以检查 Redis 中使用的实时内存吗?

4

1 回答 1

4

used_memory 字段就是您要查找的内容。不是你说的系统分配的内存,这是进程内存分配器给Redis的内存。

例子:

> info memory
...
used_memory:541368
...
> set y "titi"
OK
> info memory
...
used_memory:541448       # i.e. +80 bytes
...
> del y
(integer) 1
> info memory
...
used_memory:541368
...

请注意,Redis 做了许多与内存相关的优化。例如,它能够分解包含小整数的值。或者,如果您将数据附加到现有字符串,则相应的缓冲区不会在每次附加操作时增长。因此,根据这些优化,给定操​​作集的内存使用增加/减少并不总是一致的。

于 2013-11-05T10:07:30.480 回答