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

回到顶部