transactionDB python api说,
Database.get_range(开始,结束[,限制,反转,streaming_mode])
返回所有键k,使得begin< = k<结束及其相关值作为 KeyValue对象列表。请注意,将范围排除在范围之外。
此读取完全同步。
我想在Redis中使用相同的东西。我查看了lrange和zrange函数,但不认为它们是相似的。
答案 0 :(得分:2)
TL; DR没有直接的等价物并扫描整个密钥空间总是很慢(呃) - 你应该避免它,除非你的意图是获得大部分/全部密钥。
有两个允许您扫描密钥空间的Redis命令 - 一个名为SCAN
,other one不应该被提及,也不能用于除开发之外的任何内容。然而,与您所追求的不同,这些命令:
1.不要处理键的范围,而是处理类似于glob的模式
2.不要返回相关值,你必须专门阅读它
一般来说,你应该避免练习这样的阅读模式,除非你的意思是 - 在大多数情况下,你希望快速和便宜的反应,所以全扫描几乎总是不正确的方式,
答案 1 :(得分:0)
Sorted sets允许您通过range进行查询。如果您正在存储一个对象,您可以使用有序集来获取所需的对象ID,然后使用hget / hgetall从哈希中查找对象信息。