복붙노트

[REDIS] 봄 RedisTemplate는 : 후 8 호출 방법 키 중단까지

REDIS

봄 RedisTemplate는 : 후 8 호출 방법 키 중단까지

나는 레디 스과의 통신을 위해 봄 RedisTemplate (봄 - 데이터 - 레디 스 1.7.1)를 사용합니다. 나는 정규 표현식에 의해 다음 Delete 키를 얻을 필요 (예 : "컨텍스트 : 사용자 1 : *을"). 나는 키의 배열을 가져 오기위한 방법 "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 (...)에 내 자바 서비스의 실행을 중지합니다. 메소드의 호출은 프레임 워크에서 반환되지 않습니다. 내 서비스 중단을합니다. 또한 그것은 매번 일어나고있다. 해결 방법은 단지 내 서비스를 다시 시작합니다.

해결법

  1. ==============================

    1.당신이 풀링과 Jedis를 사용하는 가정하면, 기본 연결 풀의 고갈로 실행합니다.

    당신이 풀링과 Jedis를 사용하는 가정하면, 기본 연결 풀의 고갈로 실행합니다.

    redisTemplate.getConnectionFactory를 호출 할 때마다 ().의 getConnection ()는 연결 풀에서 새 연결을 할당합니다. 당신은 ()의 Connection.close를 호출합니까? 그렇지 않은 경우, 풀 소진됩니다. 수영장이 (가 연결을 요청하는 스레드에 의해 사용할 수 있도록 다른 스레드가 연결을 반환합니다 희망) 귀하의 요청을 차단하기 시작합니다.

  2. from https://stackoverflow.com/questions/36623208/spring-redistemplate-after-8-calls-method-keys-hangs-up by cc-by-sa and MIT license