我正在尝试创建redis ordered set。问题在于需要根据两个标准(时间戳和分数)进行排序。但在redis中,我只能提供一个评分标准:
ZADD {key} {timestamp} {value}
如何在此排序中添加分数以及PLZ?
更新 以下是我将两种不同的排序因子合并为一个浮点数值的方法:
var score = Math.floor(result.created_time/(60*60*24*1000));
score = score + (result.matches/10);
为了解释一下,我先把时间戳转换为天数。而我的比赛'值通常为0-10。因此,转换为十进制值并添加为分数权重。这给了我最高得分的条目,每天排序。这正是我所需要的。
答案 0 :(得分:4)
在排序集中使用小数作为分数 - 构建分数,时间戳为小数点左侧的值和右侧的值。