1 背景
使用 redistemplate 查询一组key, for循环可能编码过于复杂
有没有一种API,输入一个集合key,返回集合结果
2 API
public List<V> multiGet(Collection<K> keys) {
if (keys.isEmpty()) {
return Collections.emptyList();
}
byte[][] rawKeys = new byte[keys.size()][];
int counter = 0;
for (K hashKey : keys) {
rawKeys[counter++] = rawKey(hashKey);
}
List<byte[]> rawValues = execute(connection -> connection.mGet(rawKeys));
return deserializeValues(rawValues);
}
2 例子
List list = new ArrayList();
List result = redisTemplate.opsForValue().multiGet(getList());