Redis集群搭建加Springboot配置

引子

    哨兵模式:一种集群,能够提高读请求的并发,但是容错方面有问题,如果master同步数据给slave的时候,master挂了,那个slave上的数据就没有master新,数据同步的1-2秒的数据会丢失。 redis主从复制以及哨兵,可以提高读的并发,但是单个master容量有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多个master-slave成为集群。 redis-cluster:可以支持多个master-slave,支持海量数据,实现高可用与高并发。

特点

  1. 每个节点知道彼此之间的关系,也知道自己的角色,彼此之间可以进行交互和通信。
  2. 客户端要和集群建立连接的话,只要和其中一台建立关系即可。
  3. 某个节点挂了,通过超过半数的节点来进行检测,客观下线后主从切换。
  4. Reds中存在很多的槽节点,用于存储数据。

配置

    配置文件
# 开启集群模式
cluster-enabled yes
# 每个节点的配置文件,reids自己维护,不用修改
cluster-conf-file noedes-1.conf
# 超时时间,超时认为redis宕机,随后主备切换
cluster-node-timeout 5000
# 开启aof
appendonly yes
    配置集群
# --cluster-replicas 1  代表有1个从
redis-cli --cluster create 192.168.1.111:6379 192.168.1.112:6379 192.168.1.113:6379 192.168.1.114:6379 192.168.1.115:6379 192.168.1.116:6379 --cluster-replicas 1
# 检测集群的信息
redis-cli --cluster check 192.168.1.111:6379

槽节点

槽节点:用来装数据,主节点有,从节点没有。总数:16384 数据怎么存储:hash(key) % 16384 后匹配槽位。

Springboot配置

spring:
	redis:
		password: 123456
		cluster:
			nodes: 192.168.1.111:6379,192.168.1.112:6379,192.168.1.113:6379,192.168.1.114:6379,192.168.1.115:6379,192.168.1.116:6379
经验分享 程序员 微信小程序 职场和发展