2016-08-04 81 views
0

我在Spring中編寫一個Web應用程序,並且使用Spring Data Redis和Jedis。 Web應用程序會談到的Redis集羣有很多的命令集」 我想將命令發送到Redis的集羣中的一個管道。當我嘗試,我得到了一個例外:不支持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; 
} 
+1

分享你的代碼,不只是例外? – alzee

+0

您可以連接到您的密鑰所在的節點並直接使用流水線。 – mp911de

+0

您可以舉例說明如何連接到羣集中的單個節點嗎? –

回答

1

您是否嘗試過Redisson框架?它支持集羣模式下的Redis管道。

+1

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18950900) –