是什么?
2亿条记录就是2亿和k, v,我们单机不行必须要分布式多机,假设有3台机器构成一个集群,用户每次读写操作都是根据公式:
hash(key) % N个机器台数
计算出哈希值,用来决定数据映射到哪一个节点上。
缺点
原来规划好的节点,进行扩容或者缩容就比较麻烦,不管扩缩,每次数据变动导致节点有变动,映射关系需要重新进行计算,在服务器个数不变时没有问题,如果需要弹性扩容或故障停机的情况下,原来的取模公式发生变化:
Hash(key) / 3 会变成 Hash(key) / ?
此时地址经过某台redis机器宕机了,由于台数数量变化,会导致hash取余全部数据重新洗牌。