redisson WRONGPASS invalid username-password pair or user is disable
1、技术架构:若依微服务框架
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version> 2021.1 </version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version> 2020.0 . 4 </version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version> 2.5 . 6 </version> </dependency> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version> 3.17 . 6 </version> </dependency> |
2、项目上一直用的自己部署的Redis(7.0.4),并没有设置密码,所以配置都是不带密码的如下
1 2 3 4 5 6 7 | ## 不带密码(默认username: default ),连接成功 Spring redis: host: 127.0 . 0.1 port: 6379 password: 123456 database: 0 |
3、总集突然要求所有应用全部使用他们提供的Redis服务(7.0.7,带username),根据总集所提供账号密码配置后,报错如下
1 2 3 4 5 6 7 8 9 | WRONGPASS invalid username-password pair or user is disable.. channel: ************ command: (AUTH), params: (password masked) ## 根据网上查的:账号密码带单引号 双引号 password换成auth 均连接失败 spring redis: host: 127.0 . 0.1 port: 6379 username: 'username' password: '123456' database: 0 |
4、经查询,在 redisson-spring-boot-starter:3.17.7版本上已修复了此bug,升级版本后经验证OK
PS:问题最终是解决了,但经过总是曲折的。
5、首先在网上查说是在高版本已修复,但是并未具体哪个版本,所以我第一时间直接将redisson升级到最高版本,发现本地启动确实解决了这个问题,redis连接成功
1 2 3 4 5 | <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version> 3.31 . 0 </version> </dependency> |
5、但是当打包上服务器时出现了别的问题,本地启动正常,打包上线出问题???
1 | Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/redis/connection/zset/Tuple |
6、经查询,是springboot版本与redisson-spring-data版本的依赖不兼容导致
7、我将redisson版本升级到了3.31.0,就导致依赖直接成了redisson-spring-data-33
8、此时可以排除内部redisson-spring-data,使用外部引用的方式来解决此问题,经验证此办法也OK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.redisson</groupId> <artifactId>redisson-spring-data- 33 </artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-data- 27 </artifactId> <version> 3.17 . 7 </version> </dependency> |
9、虽然通过8中描述这种办法也能解决,但还是想知道在哪个版本修复了username不生效的问题,故查询redisson官网更新记录,才找到了具体版本3.17.7
https://github.com/redisson/redisson/releases?page=4
10、最终选择将 redisson-spring-boot-starter 升级到 3.17.7解决此问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通