Redis 中的有序集基于多个条件

Ordered set in Redis based on more than one criteria

我正在尝试创建一个 redis ordered set。问题是需要根据时间戳和分数这两个标准进行排序。但是在redis中,我只能提供一个排序标准:

ZADD {key} {timestamp} {value}

请问如何在此排序中添加分数?

更新: 这是我将两个不同的排序因子合并为一个浮点分数值的方法:

var score = Math.floor(result.created_time/(60*60*24*1000));
score = score + (result.matches/10);

为了说明,我先将时间戳转换为天数。而我的 'matches' 值通常是 0-10。因此,转换为十进制值并添加为分数权重。这给了我得分最高的条目,每天排序。这正是我所需要的。

在您的 Sorted Set 中使用小数作为分数 - 构建分数时,时间戳为小数点左侧的值和右侧的值。