基本思想:
(1)一共有16384个槽,每台服务器分管其中的一部分
(2)插入一个数据的时候,先根据CRC16算法计算key对应的值,然后用该值对16384取余数(即CRC16(key) mod 16384),确定将数据放到哪个槽里面
(3)在增加的时候,之前的节点各自分出一些槽给新节点,对应的数据也一起迁出
(4)客户端可以向任何一个Redis节点发送请求,然后由节点将请求重定向到正确的节点上

为什么要选择的槽是16384个呢?
crc16会输出16bit的结果,可以看作是一个分布在0-2^16-1之间的数,redis的作者测试发现这个数对2^{14}求模的会将key在0-2^{14-1}之间分布得很均匀,因此选了这个值。

参考资料:
[1]https://www.cnblogs.com/abc-begin/p/8203613.html
[2]哈希算法:https://blog.csdn.net/tanggao1314/article/details/51457585