[springboot]整合连接redis单例、哨兵及集群模式
·
<artifactId>commons-pool2</artifactId>
引入 commons-pool 2 是因为 Lettuce 需要使用 commons-pool 2 创建 Redis 连接池。
### []( )2.1. redis单例模式连接配置
application全局配置,使用我们前面章节安装好的测试redis服务。redis的单节点实例,可以通过下面的配置连接redis单节点实例数据库
spring:
redis:
database: 0 # Redis 数据库索引(默认为 0)
host: 192.168.161.3 # Redis 服务器地址
port: 6379 # Redis 服务器连接端口
password: 123456 # Redis 服务器连接密码(默认为空)
timeout: 5000 # 连接超时,单位ms
lettuce:
pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制) 默认 8
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1
max-idle: 8 # 连接池中的最大空闲连接 默认 8
min-idle: 0 # 连接池中的最小空闲连接 默认 0
### []( )2.2.redis哨兵模式连接配置
redis另外一种非常常用的部署模式是哨兵模式,如果你的公司使用的是这种部署模式,它相对于单实例模式更加的高可用。

* redis哨兵模式实际上是两种模式的组合,即主从模式和哨兵模式。当`Master`节点离线后,哨兵sentinel监控节点会把`Slave`节点切换为`Master`节点,保证服务的高可用
* 哨兵模式是在主从模式的基础上增加了哨兵sentinel监控节点。最简单的哨兵模式需要一个redis的`Master`节点、一个redis的`Slave`、另外三个哨兵监控节点。
**需要注意的是,当我们使用spring boot连接哨兵模式的redis集群,连接的是sentinel节点,而不是redis服务实例节点。注意上图的连接顺序。** Application Client是我们的应用程序,sentinel node是哨兵节点。
spring:
redis:
password: 123456
timeout: 5000
sentinel: # 哨兵模式连接配置
master: mymaster #master节点名称,redis sentinel模式安装的时候会配置
nodes: 192.168.1.201:26379,192.168.1.202:26379,192.168.1.203:26379 # 哨兵的IP:Port列表
lettuce
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0
### []( )2.3.redis集群模式连接配置
Redis Cluster是Redis的分布式解决方案,在Redis 3.0版本正式推出的,有效解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构达到负载均衡的目的。分布式集群首要解决问题是:把整个数据集按照分区规则映射到多个节点上,即**把数据集按照一定的规则划分到多个节点上,每个节点只保存整个数据集的一个子集**。
> 之前我们为大家介绍的redis安装模式,无论是单节点还是master-slave,其redis服务都保存了数据集的完整副本。cluster模式不是,其redis实例节点只包含完整数据集的子集。

1. 当程序客户端随意访问一个redis node节点时,可能会发现其操作的数据或者应该写入的数据位置,并不在当前node节点上。
2. 此时,当前被访问的redis node节点会告知客户端,你应该去哪个节点访问数据或写入数据
3. 然后客户端获取目标node节点的地址,重定向到该节点的地址,去访问或写入数据。
下面的配置,是针对redis集群模式连接访问的配置。
spring:
redis:
password: 123456
timeout: 5000
database: 0
cluster: #集群模式配置
nodes: 192.168.1.11:6379,192.168.1.12:6379,192.168.1.13:6379,192.168.1.14:6379,192.168.1.15:6379,192.168.1.16:6379
max-redirects: 3 # 重定向的最大次数
lettuce:
pool:
max-active: 8

最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分

1718868042289)]
最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分
[外链图片转存中…(img-mEaqeEUD-1718868042289)]
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)