2016-08-04 9 views
0

저는 Spring에서 웹 어플리케이션을 작성하고 Jedis에서 Spring Data Redis를 사용하고 있습니다. "설정 명령이 많은 레디 스 클러스터에 웹 응용 프로그램 회담 I 파이프 라인의 레디 스 클러스터에 명령을 보내고 싶어요 내가 예외 가지고 있다고했을 때 :.JedisCluster가있는 파이프 라인이 지원되지 않습니다.

java.lang의를. UnsupportedOperationException가이 : 파이프 라인은 현재 JedisClusterConnection 지원되지 입니다

내 대안이 될 것입니다 무엇

EDIT1 :.?

protected void store(Map<String,Creative> creativesToStore, Function<Map<String,Creative>,Object> executedAction) 
{ 
    this.redisTemplate.execute(
      redisConnection -> executedAction.apply(creativesToStore), true, true); // Pipelined execution*/ 

} 

protected Object storeAllCreativesRedis(Map<String,Creative> creativesToStore) 
{ 
    creativesToStore.keySet() 
      .stream() 
      .filter(key -> creativesToStore.get(key)!=null) 
      .forEach(key -> { 
       redisTemplate.opsForValue().set(key, creativesToStore.get(key), ttlSeconds, timeUnit); 
       logger.debug("Issuing a redis set for %s ",key); 
      }); 
    return null; 
} 
,536,
+1

예외가 아니라 코드를 공유 하시겠습니까? – alzee

+0

키가있는 노드에 연결하여 파이프 라이닝을 직접 사용할 수 있습니다. – mp911de

+0

클러스터의 개별 노드에 연결하는 방법의 예를 보여줄 수 있습니까? –

답변

1

Redisson 프레임 워크를 사용해 보셨습니까? 클러스터 모드에서 Redis 파이프 라인을 지원합니다.

+1

이 링크가 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [리뷰에서] (리뷰/저품절 게시물/18950900) –

관련 문제