面试题-redis-为什么Redis只取16384个槽
Redis主节点的配置信息中它所负责的哈希槽是通过一张bitmap的形式来保存的,在传输过程中会对bitmap进行压缩,但是如果bitmap的填充率slots / N很高的话(N表示节点数),bitmap的压缩率就很低。因为每秒钟,redis节点需要发送一定数量的ping消息作为心跳包,如果槽位为65536,这个ping消息的消息头太大了,浪费带宽。(1)如果槽位为65536(2^16),发送心跳信息的消息头达8k,发送的心跳包过于庞大。(3)槽位越小,节点少的情况下,压缩比高,容易传输。
原创
2023-11-01 15:20:08 ·
231 阅读 ·
0 评论