最近在给一个项目做压测,刚开始时很正常,过一会服务就无法正常访问了,停止了压测任务再调用接口也同样没有响应,经排查是redis连接池没有释放导致的。

解决方法:

方法一:全局关闭事务

找到redis配置,将 enableTransactionSupport 配置项去掉或设置为false

c redis 释放资源 redis资源未释放引发的问题_压测


方法二:RedisTemplate操作后手动释放连接

RedisConnectionUtils.unbindConnection(redisTemplate.getConnectionFactory());

注意:使用 scan 命令后一定要关闭 Cursor ,否则连接不会释放,将导致异常(Could not get a resource from the pool)