使用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
求助大神帮忙瞅瞅
...全文
412 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
瘦死的黑骆驼 2019-08-02
  • 打赏
  • 举报
回复
从错误看最大可能性就是连接池泄露,用完之后没有将连接还给连接池造成的,查一查有没有其他地方使用或者有一直占用连接的地方,又或者是有很多连接在订阅当中(订阅是长连接)。也可以到redis上根据你的ip查看有多少个连接,是不是都被占满了.

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧