使用redis缓存手机验证码,在服务器上运行一段时间后会出现Could not get a resource from the pool

毛豆乄 软件开发  2019-08-02 05:26:26



日志如图目前使用redis 作为手机登录验证码缓存5分钟失效,目前在使用一段时间后,就会报这个连接资源池问题
在代码中使用的是redisTemplate

在ValueOperations操作时也进行了连接判断等,目前线上运行一段时间还是会出现该问题,
    
@Bean(name = "valueOperations")
public ValueOperations<String, Object> valueOperations(@Qualifier("redisTemplate") RedisTemplate<String, Object> redisTemplate) {
try {
return redisTemplate.opsForValue();
} finally {
//释放连接
RedisConnectionUtils.unbindConnection(redisTemplate.getConnectionFactory());
}
}


redis配置项是这样,也没啥问题啊
spring:
redis:
host: 127.0.0.1
port: 6379
database: 2
timeout: 6000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
求助大神帮忙瞅瞅
...全文
88 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
从错误看最大可能性就是连接池泄露,用完之后没有将连接还给连接池造成的,查一查有没有其他地方使用或者有一直占用连接的地方,又或者是有很多连接在订阅当中(订阅是长连接)。也可以到redis上根据你的ip查看有多少个连接,是不是都被占满了.
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告