Redis Cluster将所有的数据划分为16384个槽位,它比codis的1024个槽位划分的更为精细。每个节点负责一部分数据。槽位的信息存储于每个节点中,当Redis Cluster的客户端连链接集群时候,也会得到一份集群的槽位配置信息。这样当客户端想要查找某个key时,可以直接定位到目标节点。客户端为了可以直接定位某个具体的key所在的节点,需要缓存槽位配置信息,这样才可以准确快速的定位到相应的节点。同时因为可能会存在客户端与服务器存储的槽位的信息不一致的情况,还需要纠正机制来实现槽位的校验调整。另外,Redis Cluster的每个节点会将集群的配置信息持久化在配置文件中,所以必须确保配置文件时可写的,而且尽量必要依靠人工修改配置文件中。
槽位定位算法:默认会对key值使用crc16算法进行hash