Jedis的PipeLine使用
相比较RedisTemplate的PipeLine,Jedis对Redis的批量操作稍微繁复一点点。具体操作如下:
private Pool jedisPool;
public List execute(Class type, String... keys) throws JedisException {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
Pipeline pipeline = jedis.pipelined();
for (String key : keys) {
pipeline.get(key);
}
// pipeline.sync(); // 不返回执行结果
List responses = pipeline.syncAndReturnAll(); // 返回执行结果
List result = new ArrayList(responses.size());
for (Object response : responses) {
String resp = (String) response;
result.add(resp == null ? null : JSON.parseObject(resp, type));
}
return result;
} finally {
if (jedis != null) {
jedis.close();
}
}
}