Redis:如何实时查看内存使用量?

hh5*_*188 5 memory-management redis

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

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

有什么办法可以查看Redis的实时内存使用情况吗?

Did*_*zia 6

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
...
Run Code Online (Sandbox Code Playgroud)

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