Redis集群
1.Redis集群是无中心的。
2,Redis集群有一个ping-pong机制,即两个节点要相互通信。
3.投票机制,Redis集群节点的数量必须是2n+1,该机制用于判断节点是否真的挂了,当redis1发送信息到Redis2未得到相应,redis1会通知redis3去查看redis2,如果redis2不响应redis3,则判断它挂了。
4.Redis集群中默认分配了16384个hash槽,存储数据时会将key进行crc16的算法,对16384取余,根据最终的结果,将key-value放到指定的Redis节点中。
5.为了保证数据的安全性,每一个节点只要要有一个从节点,从节点一致不停地同步redis集群中的节点中的数据,当集群节点挂了之后,他能立即顶上,完成一些操作,这里的从节点只管备份,不管查询。
6.当一个集群中被查询的次数太多了,可以单独针对这个节点搭建主从架构,主从架构,哨兵,集群是三个不同的东西。
7.当redis集群中超过半数的节点宕机之后,集群瘫痪。
Redis集群的策略
Redis提供了三种集群策略:
Redis集群的搭建(Linux)
(1)docker-compose.yml
(2)redis1.conf
(3)redis2.conf 其余节点相似
搭建好redis1-6之后随便进入一个节点内部(因为集群是无中心的),使用redis-cli命令搭建集群。
--cluster create 指定节点的端口
--cluster-replicas 指定每个节点有几个从节点