0%

redis集群

redis集群

注意:我使用的版本是6.0.10,不同版本可能略有差别

redis-cluster把所有的五里界蒂娜映射到0-16383槽点上,cluster负责维护节点到哈希槽之间的关系,当需要在redis集群中存放键值对时,redis先对key使用crc16算法算出一个结果,然后对16384取余,redis会根据节点数量将哈希槽映射到不同的节点上

集群配置

修改redis.conf来设置集群参数

1
cluster-enabled yes

在使用客户端连接时

1
2
#-c 表示集群连接
redis-cli -c

查看集群信息

1
cluster info

查看集群节点

1
cluster nodes

集群中所有master参与投票,如果半数以上的master节点与其中一个master节点通信超过cluster-node-timeout,则认为该master节点挂掉

集群不可用情况

  • 如果集群任意master挂掉,且当前master没有slave,则集群进入fail状态
  • 如果集群超过半数的master挂掉,不管有没有slave,集群进入fail状态