spring – RedisTemplate – 哈希按键集获取多个条目

我使用 spring的RedisTemplate.

我有一个redis哈希.

我想使用模板查询redis,以获取其键在某组键中的所有条目.

我注意到了这个方法:

Map<Object, Object> entries = redisTemplate.opsForHash().multiGet(HASH_NAME, keySet);

但是,遗憾的是,此方法仅返回值,而没有匹配的键.

我也可以这样做:

Map<Object, Object> entries = redisTemplate.opsForHash().entries(HASH_NAME);
for(Object key : keySet){
    System.out.println(entries.get(key));
}

但这意味着我将从redis获取所有条目到我的本地机器,并迭代它们.

我不是有更好的方法吗?

最佳答案
从 HMGET的文档:

Array reply: list of values associated with the given fields, in the
same order as they are requested.

从Spring Redis Hash multiGet的文档中,您可以看到它返回一个列表(而不是地图),该列表应与您发送的密钥的顺序相同.

示例代码:

List<Object> values = redisTemplate.opsForHash().multiGet(HASH_NAME, keySet);
int i = 0;
for (String k: keySet) {
    // k is the key
    // and here is the value corresponding to the key k
    Object value = values.get(i++);
}
点击查看更多相关文章

转载注明原文:spring – RedisTemplate – 哈希按键集获取多个条目 - 乐贴网