5

我想从哈希中获取所有键及其值,其中键与特定模式匹配。我将 redis 与 c# 库 ServiceStack.Redis 一起使用。

我找到了命令Keys with a patternhttp://redis.io/commands/keys如果它是简单的 string_key -- string_val 但如果它在哈希中则没有。

有,List<string> GetValuesFromHash(string hashId, params string[] keys);但只有当键完美匹配 redis 中的键时它才有效。Akey:*会回来 null

例如

myHash = 
key:1 -- val1, 
asdf -- asdfe,
key:2 -- val2

myHash现在,如果哈希中的键与以下模式匹配,我想获取所有键及其值:key:*

这将导致

key:1 -- val1, 
key:2 -- val2
4

1 回答 1

5

Redis 不直接支持这个:http ://redis.io/commands#hash

您仅限于一次查询所有键或由其确切名称指定的一个或多个键。这种使用模式可能意味着您需要一个散列和另一个数据结构(例如集合)来记录感兴趣的键,或者两个或多个单独的散列。由于 Redis 支持一次对多个结构进行原子更新,因此这通常是可行的方法。

于 2013-10-16T14:30:22.197 回答