<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另外一种非常常用的部署模式是哨兵模式,如果你的公司使用的是这种部署模式,它相对于单实例模式更加的高可用。



![在这里插入图片描述](https://img-blog.csdnimg.cn/cec3975e60da4768b8c0341a619142dc.png)



*   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实例节点只包含完整数据集的子集。



![在这里插入图片描述](https://img-blog.csdnimg.cn/727e85dcd07b488cbdb73679732e56ce.png)



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)]

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐