2

transactionDB python api 说,

Database.get_range(begin, end[, limit, reverse, streaming_mode])

以 KeyValue 对象列表的形式返回所有满足 begin <= k < end 的键 k 及其关联值。注意 end 从范围中排除。

此读取是完全同步的。

我想要 Redis 中的等价物。我查看了 lrange 和 zrange 函数,但认为它们并不相似。

4

2 回答 2

2

TL;DR 没有直接的等价物,并且扫描整个密钥空间总是很慢(呃) - 你应该避免它,除非你的意图是获得大部分/所有密钥。

有两个 Redis 命令可以让您扫描键空间 - 一个被调用SCAN另一个不应该被提及,也不能用于开发以外的任何事情。然而,与您所追求的不同,这些命令: 1. 不要在键范围内工作,而是在类似 glob 的模式上工作 2. 不要返回关联的值,您必须专门阅读它

一般来说,除非你是认真的,否则你应该避免练习这样的阅读模式——在大多数情况下,你希望得到快速而廉价的响应,所以全面扫描几乎总是不正确的方法,

于 2016-08-30T18:44:23.570 回答
0

排序集允许您按范围查询。如果您要存储一个对象,您可以使用排序集来获取所需的对象 ID,然后使用hget / hgetall从哈希中查找对象信息。

于 2016-08-30T08:36:20.390 回答