2

我正在尝试获取值列表,其中键名以“monkey”开头。

我真的找不到这方面的文档。:(

我怎样才能做到这一点?我应该使用什么 API?Keys, Sets, Strings? 什么方法?

或者它尚不可用,但有一种解决方法?

谢谢

4

1 回答 1

0

Redis 没有“获取像 {x} 这样的所有键及其值”命令,但它确实有:

  • 获取像 {x} 这样的所有键
  • 获取键/键的值

首先,您的方法是否明智取决于您使用的服务器版本。如果您使用的是最新版本,则该库将使用 SCAN,这并不可怕。在较旧的服务器版本上,它将使用 KEYS,这是无论如何都要避免的。我不在 PC 上,所以这只是伪代码,但是:

foreach(var batch in db.GetKeys("monkey*")
    .Batchify(100))
{
     list.AddRange(await db.Strings.GetString(batch));
}

请注意,这不是优化的——批处理可能比上面的更有趣——但我需要一个键盘和编译器来证明这一点!

于 2014-06-06T16:08:39.233 回答