redis集群的插槽问什么是16384个

发布网友 发布时间:2022-04-22 07:59

我来回答

2个回答

热心网友 时间:2022-04-11 15:20

作者原话,关注下。

1、普通心跳数据包携带节点的完整配置,该配置可以用旧配置以幂等方式替换,以便更新旧配置。这意味着它们包含原始形式的节点的槽配置,16k的槽配置需要使用2k内存空间,但是使用65k槽将使用8k的内存空间。

2、同时,由于其他设计折衷,Redis集群不可能扩展到超过1000个节点。

因此,16k是比较合适的,可以确保每个主设备有足够的槽,最大为1000个。redis的node配置信息通过位图存储传输的,传输前有一个压缩过程,压缩比跟槽个数和节点数有很大关系(because when N is small the bitmap would have slots/N bits set that is a large percentage of bits set.)【槽数量/节点数】当这个N越大,压缩比就越小。

热心网友 时间:2022-04-11 16:38

  redis集群在启动的时候就自动在多个节点间分好片。同时提供了分片之间的可用性:当一部分redis节点故障或网络中断,集群也能继续工作。但是,当大面积的节点故障或网络中断(比如大部分的主节点都不可用了),集群就不能使用。
  所以,从实用性的角度,Redis集群提供以下功能:
  自动把数据切分到多个redis节点中
  当一部分节点挂了或不可达,集群依然能继续工作
  

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com