我使用 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 获取所有条目到我的本地机器,并迭代它们。
难道我没有更好的方法吗?
最佳答案
如果您使用的是 RedisTemplate,则可以使用 opsForHash().entries(H key)
获取所有哈希(键和值)。
例如……
Map messageGroupMetadata = redisTemplate.opsForHash().entries(H key);
另外需要设置RedisTemplate序列化器来完成这个操作。
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
关于spring - RedisTemplate - 哈希通过键集获取多个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33258509/