我正在Spring中编写一个Web应用程序,并且正在使用Spring Data Redis和Jedis。这个Web应用程序通过许多set命令与一个redis集群对话。"我想通过管道向redis集群发送命令。当我尝试这样做时,我遇到了一个异常:
不支持的操作异常:JedisClusterConnection当前不支持管道。
我的选择是什么?
编辑1:
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条答案
按热度按时间sq1bmfud1#
你试过Redisson框架吗?它在集群模式下支持Redis管道。下面是一个例子: