gpt4 book ai didi

optimization - Redis:内存优化

转载 作者:可可西里 更新时间:2023-11-01 11:13:11 24 4
gpt4 key购买 nike

我有大约 256 个键。针对每个键,我必须存储大量不重复的整数。以下是前 7 个键以及每个键的总值(条目)数。每个值都是一个具有较大值的唯一整数。

Key     No. of integers (values) in the list
Key 1 3394967
Key 2 3385081
Key 3 2172866
Key 4 2171779
Key 5 1776702
Key 6 1772936
Key 7 1748858

默认情况下,Redis 会消耗大量内存来存储这些数据。我读到更改以下参数可以大大减少内存使用量。

list-max-zipmap-entries 512 
list-max-zipmap-value 64

任何人都可以向我解释上面的这些配置命令(是 512 字节还是 64 字节?)以及我可以在上面的配置设置中对我的案例进行哪些更改以减少内存使用量?

在上述命令中为 entriesvalue 选择值时应注意什么?

最佳答案

列表最大 mipmap 条目 512:列表最大 zipmap 值 64

如果列表中的条目数超过 512,或者列表中任何给定元素的大小 > 64 字节,Redis 将切换到效率较低的内存存储结构。更具体地说,在这些阈值以下,它将使用 ziplist,而在阈值以上,它将使用链表。

因此,在您的情况下,您需要使用 > 1748858 的条目值来查看任何更改(然后仅在键 8-end 中)。另请注意,要让 Redis 将它们重新编码为较小的对象大小,您还需要在配置中进行更改并重新启动 Redis,因为它不会自动重新编码。

要验证给定 key 是使用 ziplist 还是链表,请使用 OBJECT命令。

有关详细信息,请参阅 Redis Memory Optimization

关于optimization - Redis:内存优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39433872/

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