我想实时查看使用了多少内存,例如,每次设置或插入一些数据时,我想知道增加了多少内存,总共使用了多少。
我尝试使用INFO
命令,并检查used_memory
orused_memory_*
属性是否有效,但抱歉我发现它只显示系统分配的内存,因为每次我插入新数据后检查它,它们仍然保持不变
有什么方法可以检查 Redis 中使用的实时内存吗?
我想实时查看使用了多少内存,例如,每次设置或插入一些数据时,我想知道增加了多少内存,总共使用了多少。
我尝试使用INFO
命令,并检查used_memory
orused_memory_*
属性是否有效,但抱歉我发现它只显示系统分配的内存,因为每次我插入新数据后检查它,它们仍然保持不变
有什么方法可以检查 Redis 中使用的实时内存吗?
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 做了许多与内存相关的优化。例如,它能够分解包含小整数的值。或者,如果您将数据附加到现有字符串,则相应的缓冲区不会在每次附加操作时增长。因此,根据这些优化,给定操作集的内存使用增加/减少并不总是一致的。