gpt4 book ai didi

redis - 了解redis中键的内存消耗

转载 作者:IT王子 更新时间:2023-10-29 06:08:27 25 4
gpt4 key购买 nike

我正在运行本地 Redis 服务器。在 redis 中有一个坏键占用了大量内存。在删除该键之前,“信息内存”显示 5.3GB 已占用内存。那个坏 key 占用了大约 800MB 的数据。这是基于“调试对象”输出。

删除该键后,释放了几乎两倍大小的内存。预期只有 800MB 左右。

关于这背后的原因有什么想法吗?在 ubuntu 上运行。

127.0.0.1:6379[3]> info
# Server
redis_version:2.8.9

127.0.0.1:6379[3]> info memory
# Memory
used_memory:5746884728
used_memory_human:5.35G
used_memory_rss:6382206976
used_memory_peak:8865352096
used_memory_peak_human:8.26G
used_memory_lua:37888
mem_fragmentation_ratio:1.11
mem_allocator:jemalloc-3.2.0

127.0.0.1:6379[3]> debug object c43d3e42-7e63-47f3-bb63-b58a897c29a6
Value at:0x7f77a1db1d10 refcount:1 encoding:linkedlist
serializedlength:814237852 lru:994050 lru_seconds_idle:99559
(5.53s)


127.0.0.1:6379[3]> del c43d3e42-7e63-47f3-bb63-b58a897c29a6
(integer) 1
(1.78s)

127.0.0.1:6379[3]> info memory
# Memory
used_memory:4145366968
used_memory_human:3.86G
used_memory_rss:4375691264
used_memory_peak:8865352096
used_memory_peak_human:8.26G
used_memory_lua:37888
mem_fragmentation_ratio:1.06
mem_allocator:jemalloc-3.2.0

谢谢。

最佳答案

DEBUG OBJECT 显示对象的序列化长度。它是将对象以RDB 格式保存到磁盘时序列化数据的大小。它不是内存中对象的大小。

在磁盘上保存数据时,Redis 可能会压缩数据。所以通常情况下,序列化长度小于内存中对象的大小。

关于redis - 了解redis中键的内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53738598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com