不支持JedisCluster的管道

时间:2016-08-04 00:39:16

标签: java spring redis jedis spring-data-redis

我在Spring编写Web应用程序,并使用Spring Data Redis和Jedis。 Web应用程序与具有许多set命令的redis集群进行通信。 我想将命令发送到管道中的redis集群。当我尝试时,我得到了一个例外:

  

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 个答案:

答案 0 :(得分:1)

您是否尝试过Redisson框架?它支持集群模式下的Redis管道。