首页 > 解决方案 > 如何在redis中获取特定范围内的索引键?

问题描述

使用redis,假设我有这些带有索引的键:

user1:0
user1:1
user1:2
user1:3
user1:4
user2:0
user2:1
user2:2

我如何从索引 1-3 中获取用户 1 的密钥?所以,这些是我想要的结果:

user1:1
user1:2
user1:3

我尝试了这些命令并得到空结果:

LRANGE user1:* 1 4
SCAN user1:* CURSOR 1 COUNT 3

另一个问题:将索引保存为辅助键中的元素对我来说会更好吗?

标签: pythonrediskey-value-store

解决方案


您错误地使用SCAN了命令。

SCAN 0 MATCH user1:[1-3]

检查文档以获取详细信息。

另一个问题:将索引保存为辅助键中的元素对我来说会更好吗?

是的,您可以为匹配模式的键构建二级索引,或者尝试redisearch。当您的数据集很大时,SCAN效率很低。


推荐阅读