Spring LettuceConnectionFactory配置Redis

本文记录了在使用LettuceConnectionFactory连接Redis时遇到的问题及解决过程。主要原因是Redis设置了protected-mode并启用了密码验证,在绑定本机IP的情况下导致Spring无法正常连接。通过取消bind配置解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用LettuceConnectionFactory连接Redis过程中,遇到

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis on

Spring连接Redis报错

Redis设置成protected-mode,并且启用了密码验证,在密码验证启用前,Spring可以正常连接,启用密码验证后,启动工程报出该错误,经排查原因,是Redis配置绑定了本机IP,取消bind配置,启动即成功

Redis bind配置

 

### 如何在 Spring Boot 中配置 Redis 集群 #### 添加 Maven 依赖 为了使 Spring Boot 应用能够访问 Redis,需在 `pom.xml` 文件中引入必要的依赖项。这包括用于与 Redis 进行交互的核心库。 ```xml <dependencies> <!-- Redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> </dependencies> ``` 此部分确保了应用程序可以利用 Spring 提供的高级抽象来简化对 Redis 数据库的操作[^2]。 #### 编写 Redis 配置类 对于更复杂的场景如集群模式下的连接设置,则可以通过编写 Java Config 类来进行定制化配置: ```java @Configuration public class RedisConfig { @Bean public LettuceConnectionFactory redisConnectionFactory() { RedisClusterConfiguration clusterConfig = new RedisClusterConfiguration(Arrays.asList( "192.168.0.1:7000", "192.168.0.2:7001" )); return new LettuceConnectionFactory(clusterConfig); } } ``` 这段代码展示了如何指定多个节点地址以建立到 Redis 集群的连接。这里使用的是 Lettuce 客户端作为默认实现之一[^3]。 #### application.yml 或 .properties 文件中的基本参数设定 除了编码层面外,还可以通过修改 `application.properties` 或者 YAML 版本的应用程序属性文件来调整一些通用选项: ```yaml spring: data: redis: cluster: nodes: 192.168.0.1:7000,192.168.0.2:7001 timeout: 6000ms password: your_password_if_any ``` 上述配置指定了构成集群成员列表以及超时时间和密码验证等信息[^4]。 #### 实现最佳实践建议 当涉及到生产环境中部署时,应该考虑以下几个方面: - **安全性**:启用 SSL/TLS 加密传输通道;严格控制网络访问权限。 - **高可用性**:设计合理的主从复制机制;定期备份重要数据集。 - **性能优化**:合理规划内存大小限制;监控并调优命令执行效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangningboo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值