哈希分布的三种方式
常见的数据分布方式有哈希
(取余hash
、一致性hash
)、按数据范围
、 按数据量
。
在Cluster
中数据分布式方式选择的是哈希分区规则
。而哈希分区
也有很多种实现方式,这里话主要图解节点取余hash
、一致性hash
、虚拟槽hash
。
hash算法——节点取余分区
取余hash:取余hash
会使用特定的数据,比如说用户Id
、手机号等,再根据节点的数量N
通过公式:hash(key) % N
计算出哈希值。如下图:
比如我们有三台 Redis 的主服务器,我们要存储用户id
为10
的数据。这时我们的公式为:hash(10) % 3 = 1
(hash(10) = 10
),我们就可以定位到将用户用户id
为10
的数据存入到master1
的服务器节点中。当我们获取数据