Redis - 用钥匙敲打

时间:2014-08-27 05:18:25

标签: redis

我一直试图弄清楚如何使用密钥进行自动完成类型问题,但我不确定这是否可行。我的数据结构如下

 "Alice" -> "{person details}"
 "Bob" -> "{person details}"

我想通过仅选择范围之间的键来进行自动量程,但看起来这只适用于值。任何方向都会有所帮助。

2 个答案:

答案 0 :(得分:1)

Redis基本上是一个大哈希表,允许O(1)访问密钥。这意味着键被散列,因此无法在不读取所有键的情况下搜索范围内的键(显然不是选项)。

我的猜测是,您正在寻找的最佳数据结构将是树,特别是基数树http://en.wikipedia.org/wiki/Radix_tree

我不知道它们是否是作为数据存储的通用和生产就绪的实现。

答案 1 :(得分:1)

您可以使用带有redis" ZSET"的排序集。这是你正在寻找的结构。

你必须定义一个"得分" (双倍值)对于ZSET的每个成员,您可以按其索引的分数(前5名或从10到50分)查询一系列成员。

由于redis使用跳过列表,因此非常高效。在redis文档中检查ZSET:http://redis.io/topics/data-types