我正在尝试创建一个redis有序集合。渔获是需要基于两个标准(时间戳和分数)进行排序。但是在redis中,我只能提供一个评估标准:
ZADD {key} {timestamp} {value}
如何在这个顺序中加上分数?
更新:这是我将两种不同的排序因子合并为单个浮点分数值的方法:
var score = Math.floor(result.created_time/(60*60*24*1000));
score = score + (result.matches/10);
只是为了解释,我首先将时间戳转换为天数。我的“匹配”值通常为0-10。因此,转换为十进制值并作为分数权重添加。每天给我评分最高的条目。这正是我所需要的。
使用小数作为排序集中的分数-构造分数时,时间戳是小数点左边的值,右边是小数点的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句