Memory Redis最佳哈希集条目大小

Memory Redis最佳哈希集条目大小,memory,optimization,hash,redis,Memory,Optimization,Hash,Redis,关于Redis哈希集的最佳条目大小设置,我有一些问题 在本例中,它们使用100个散列条目 每个键,但使用哈希最大zipmap条目256?为什么不呢? 哈希最大zipmap条目100还是128 在redis网站(链接上方)上,他们使用了最大散列条目大小 100条,但在这篇文章中,他们提到了1000条。所以 这是否意味着最佳设置是 散列最大zipmap条目和散列最大zipmap值?(即在本例中) Instagram的哈希值比内存优化的小(示例?) 非常感谢您的评论/澄清。您鼓励我阅读这两个链接,似乎

关于Redis哈希集的最佳条目大小设置,我有一些问题

  • 在本例中,它们使用100个散列条目 每个键,但使用哈希最大zipmap条目256?为什么不呢? 哈希最大zipmap条目100还是128

  • 在redis网站(链接上方)上,他们使用了最大散列条目大小 100条,但在这篇文章中,他们提到了1000条。所以 这是否意味着最佳设置是 散列最大zipmap条目和散列最大zipmap值?(即在本例中) Instagram的哈希值比内存优化的小(示例?)


  • 非常感谢您的评论/澄清。

    您鼓励我阅读这两个链接,似乎您要求的是“哈希表大小的默认值”

    我认为不可能说一个数字对所有的可能性都是通用的。所描述的机制类似于标准哈希映射。看

    如果哈希表的大小很小,这意味着许多不同的哈希值指向同一个数组,其中使用equals方法查找项

    另一方面,大哈希表意味着它会分配大内存和许多空字段。但是这个算法使用O(1)大O表示法,并且没有相等的搜索项

    通常,表IMHO的大小取决于您希望放入表中的所有元素的总计数,也取决于键的多样性。我的意思是,如果每个哈希都以“0001”开头,那么即使大小不等于100000,也会对您有所帮助。

    关键是,:

    操纵这些[ziplist]结构的紧凑版本可能会随着它们变长而变得缓慢

    [随着ziplists变得越来越长]获取/更新散列的各个字段,Redis将不得不解码许多单独的条目,CPU缓存将不再有效

    那么,请回答你的问题

  • 本页仅显示了一个示例,我怀疑作者是否考虑过确切的值。在现实生活中,如果您想利用ziplists,并且您知道每个哈希的条目数是相关的: