Redis集群搭建加Springboot配置
引子
-
哨兵模式:一种集群,能够提高读请求的并发,但是容错方面有问题,如果master同步数据给slave的时候,master挂了,那个slave上的数据就没有master新,数据同步的1-2秒的数据会丢失。 redis主从复制以及哨兵,可以提高读的并发,但是单个master容量有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多个master-slave成为集群。 redis-cluster:可以支持多个master-slave,支持海量数据,实现高可用与高并发。
特点
- 每个节点知道彼此之间的关系,也知道自己的角色,彼此之间可以进行交互和通信。
- 客户端要和集群建立连接的话,只要和其中一台建立关系即可。
- 某个节点挂了,通过超过半数的节点来进行检测,客观下线后主从切换。
- 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
上一篇:
IDEA上Java项目控制台中文乱码