RedisTemplate连接不释放导致服务异常
程序员文章站
2024-02-04 14:48:22
...
最近在给一个项目做压测,刚开始时很正常,过一会服务就无法正常访问了,停止了压测任务再调用接口也同样没有响应,经排查是redis连接池没有释放导致的。
解决方法:
方法一:全局关闭事务
找到redis配置,将 enableTransactionSupport 配置项去掉或设置为false
方法二:RedisTemplate操作后手动释放连接
RedisConnectionUtils.unbindConnection(redisTemplate.getConnectionFactory());
注意:使用 scan 命令后一定要关闭 Cursor ,否则连接不会释放,将导致异常(Could not get a resource from the pool)