在Redis中找到值最高的前N个键

时间:2019-10-05 22:37:32

标签: python redis

我拥有user_id: rating结构的Redis数据库,我需要获得N个具有最高评分(值)的用户,例如:

u_345: 198
u_144: 180
u_267: 179

我的想法是:列出所有键,然后对每个键获取其值(db.mget(db.keys())),然后按值排序并获得第一个N。还有更好的方法吗?

我使用redis-py Python库。但是主要是要获得正确的算法(或现成的解决方案)。

1 个答案:

答案 0 :(得分:2)

您似乎应该遵循将“排序集”用作二级索引的模式。

请参阅:https://redis.io/topics/indexes