我已经存储并递增下载计数器,如下所示:
INCRBY downloads:<filename> 1但现在我想要获得下载量:*按值排序,这样我就可以显示一个顶级的下载量列表。
我有一种感觉,我可以把这个存储得更好。我胡闹了一下:
ZINCRBY downloads 1 <filename>
ZREVRANGEBYSCORE downloads +inf -inf它似乎确实给出了我想要的排序列表(最多的下载),但它只返回<filename>。似乎我必须单独查询计数。
基本上,在SQL术语中,请允许我:
select filename, count(*) from downloads我如何组织我的Redis数据以使查询成为可能/简单?
发布于 2011-12-30 01:07:52
你可以用ZREVRANGE z 0 -1 WITHSCORES获取顶级影片,这也会返回分数。
此外,这还允许您使用"N-1“而不是上面命令中的"-1”轻松获得"TOP N“影片。
https://stackoverflow.com/questions/8670845
复制相似问题