【问题标题】:How to get all keys that match a specific pattern from a hash in redis?如何从redis中的哈希中获取与特定模式匹配的所有键?
【发布时间】:2013-10-24 15:38:48
【问题描述】:

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

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

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

例如

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

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

这将导致

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

【问题讨论】:

    标签: redis servicestack


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 2015-11-05
      • 1970-01-01
      • 2023-03-21
      • 2019-06-30
      • 2018-08-09
      相关资源
      最近更新 更多