在我看来,随着键的发展,“哈希冲突”会越来越频繁地发生,我不知道如果同一个槽上的键存储在单链表中,那么读性能会受到影响,特别是陈旧的记录?
9q78igpj1#
answer from antirez, the author of Redis, below.的原因是:
因此,16 k是在正确的范围内,以确保每个主机有足够的插槽,最多1000个maters,但足够小的数量可以轻松地将插槽配置作为原始位图传播。注意,在小集群中,位图将难以压缩,因为当N很小时,位图将设置插槽/N位,这是设置位的很大百分比。
yebdmbv42#
这些“插槽”仅仅是分片之间的一个分配单元。你不会在集群中拥有16 K的分片服务器;但它们足够细粒度,允许某种程度的加权负载分布。(例如,如果您在一种类型的硬件上开始使用四个分片,并选择引入两个更多功率配置文件,您可以使新服务器的目标插槽数是现有服务器的两倍,从而实现容量的相对均匀利用。我只是概括了它们的使用要点,详情请阅读Redis Cluster Specification。
2条答案
按热度按时间9q78igpj1#
answer from antirez, the author of Redis, below.的
原因是:
因此,16 k是在正确的范围内,以确保每个主机有足够的插槽,最多1000个maters,但足够小的数量可以轻松地将插槽配置作为原始位图传播。注意,在小集群中,位图将难以压缩,因为当N很小时,位图将设置插槽/N位,这是设置位的很大百分比。
yebdmbv42#
这些“插槽”仅仅是分片之间的一个分配单元。你不会在集群中拥有16 K的分片服务器;但它们足够细粒度,允许某种程度的加权负载分布。(例如,如果您在一种类型的硬件上开始使用四个分片,并选择引入两个更多功率配置文件,您可以使新服务器的目标插槽数是现有服务器的两倍,从而实现容量的相对均匀利用。
我只是概括了它们的使用要点,详情请阅读Redis Cluster Specification。