jetcache
jetcache copied to clipboard
jetcache-starter-redis-lettuce 2.5.16 lettuce 管理连接时 不兼容含有“@”密码问题
1、版本
<dependency>
<groupId>com.alicp.jetcache</groupId>
<artifactId>jetcache-starter-redis-lettuce</artifactId>
<version>2.5.16</version>
</dependency>
2、现象描述 配置如下,
jetcache:
statIntervalMinutes: 15
areaInCacheName: false
hidePackages: com.alibaba
local:
default:
type: caffeine
limit: 100
keyConvertor: fastjson
expireAfterWriteInMillis: 100000
remote:
default:
type: redis.lettuce
keyConvertor: fastjson
valueEncoder: java
valueDecoder: java
poolConfig:
minIdle: 5
maxIdle: 20
maxTotal: 50
host: ${spring.redis.host}
port: ${spring.redis.port}
uri:
- redis://${spring.redis.password}@47.100.231.15:6379/0 #redis://密码@IP:端口/库
当password值包含 ‘@' 特殊符号时, 如:
spring.redis.password = redis@dddpwd123
管理连接时 不兼容含有“@”密码问题
这个可能不是很好办,RedisLettuceAutoConfiguration这个类你自己改一下看看?
最近也遇到类似问题,同时还发现密码包含字符#,也会出现问题,作者难道不打算解决该类问题吗??
是不打算支持,因为这个yml是spring boot加载的,如何转义特殊字符是spring boot的事情。
https://stackoverflow.com/questions/50672043/inside-spring-boot-application-yml-how-to-use-special-character
最近也遇到类似问题,同时还发现密码包含字符#,也会出现问题,作者难道不打算解决该类问题吗??
也遇到这个问题了,不过明知是坑,绕过去不就是了。
最近也遇到类似问题,同时还发现密码包含字符#,也会出现问题,作者难道不打算解决该类问题吗??
也遇到这个问题了,不过明知是坑,绕过去不就是了。
这个问题自己跟一下初始化过程的源码,稍微复写一下相关代码即可绕过去。
需要转义,spring Data redis 使用''
,而jetcache使用URL转义
比如:
spring:
application:
redis:
password: '123@!'
jetcache:
remote:
test:
uri: redis://123%40%21@${spring.redis.host}:${spring.redis.port}/${spring.redis.database}
poolConfig:
minIdle: 5
maxIdle: 20
maxTotal: 50
这个问题2.6.0有解决吗?
这个其实可以直接引用spring redis的配置。
引用包:
配置: jetcache.remote.default.type=redis.springdata
这样就可以解决这个问题了。
这个其实可以直接引用spring redis的配置。
引用包: com.alicp.jetcache jetcache-starter-redis-springdata ${jetcache.version}
配置: jetcache.remote.default.type=redis.springdata
这样就可以解决这个问题了。
这个办法好