缓存技术 - 分布式 Redis
之前介绍了缓存技术在互联网技术中是不可缺的解决方案,Redis作为一个key-value存储系统被各个公司应。Redis3.0版本开始支持集群(Cluster)部署。
Redis集群在设计中没有使用一致性哈希(Consistency Hashing),而是使用数据分片引入哈希槽(hash slot)来实现;
Redis 集群中内置了 16384 个哈希槽(2的14次方),当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余(slot=CRC16(key)/16384来计算),这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。理论上最多机器是16384台。
如下图4台服务器槽的逻辑结构:key:a 计算a的hash值,例如10 这个槽在Server1上,所以a应该放在Server1上
版权声明: 本文为 InfoQ 作者【阿飞】的原创文章。
原文链接:【http://xie.infoq.cn/article/53e32858734643b077ee90d5f】。文章转载请联系作者。
评论