我使用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"));
}
Run Code Online (Sandbox Code Playgroud)
但是在8-9迭代中调用restTemplates.keys(...)会停止执行我的java服务.方法的调用不从框架返回.我的服务挂断了.每次都会发生这种情况.解决方法只是重启我的服务.
假设您将 Jedis 与池化一起使用,您会遇到底层连接池耗尽的情况。
每次调用都会redisTemplate.getConnectionFactory().getConnection()从连接池中分配一个新连接。你打电话connection.close()吗?。如果没有,池就会耗尽。池开始阻止您的请求(希望另一个线程将返回一个连接,以便请求连接的线程可以使用它)。
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |