Spring RedisTemplate:8次调用后,方法键挂断
我使用Spring RedisTemplate(spring-data-redis
1.7.1)与Redis进行通信。我需要获取并通过regexp删除密钥(例如:“ context:user1:*”)。我使用方法 “
RedisTemplate.keys(…)” 来获取键数组
{ String key = String.format("%s:%s:%s", context, userId,"*");
Set<byte[]> keys = redisTemplate.getConnectionFactory().getConnection().keys(key.getBytes());
logger.debug(String.format("test log"));
}
但是在8-9迭代调用restTemplates.keys(…)会停止执行我的Java服务。方法的调用未从框架返回。我的服务挂断了。每次都在发生。解决方法是仅重新启动我的服务。
回答:
假设您将Jedis与池一起使用,则会耗尽基础连接池。
每次调用都会redisTemplate.getConnectionFactory().getConnection()
从连接池分配一个新的连接。你打connection.close()
吗?如果不是,则池将耗尽。池开始阻止您的请求(希望另一个线程将返回一个连接,以便请求连接的线程可以使用它)。
以上是 Spring RedisTemplate:8次调用后,方法键挂断 的全部内容, 来源链接: utcz.com/qa/417508.html