目录
article
io.lettuce.core.RedisCommandExecutionException: ERR EXEC without MULTI
io.lettuce.core.RedisCommandExecutionException: ERR EXEC without MULTI
尝试从 Redis 中批量获取数据时报错:
io.lettuce.core.RedisCommandExecutionException: ERR EXEC without MULTI
代码如下:
redisTemplate.multi();
for (String key : keys) {
hmget(key);
}
List<Object> result = redisTemplate.exec();
return result;
根据 StackOverflow 上的回答,需要调用 redisTemplate.setEnableTransactionSupport(true) 方法来开启事务。
修改后代码如下:
redisTemplate.setEnableTransactionSupport(true);
redisTemplate.multi();
for (String key : keys) {
hmget(key);
}
List<Object> result = redisTemplate.exec();
redisTemplate.setEnableTransactionSupport(false);
return result;