将每个用户的时间戳存储在已排序的Redis集中

时间:2014-10-29 14:45:46

标签: node.js redis

我有一些代码:

添加ID

 redis.zadd('onlineusers', time, id, function (err, response) {
    //TODO
  });

使用 ID 保存当前时间戳用户的正确方法是什么?

按键删除ID:

db.zrem('onlineusers', data.id);

此外,如何通过键从排序集中获取多个值:1,2,3

1 个答案:

答案 0 :(得分:1)

  

使用ID保存当前时间戳用户的正确方法是什么?

您可以使用multi获得多个值的分数。

function getScores(setKey, values, callback) {
    var multi = db.multi();
    for(var i=0; i<values.length; ++i) {
        multi.zscore(setKey, values[i]);
    }
    multi.exec(callback);
}

用法

getScores('onlineusers', [1,2,3], function(err, scores) { 
    console.log(err, scores);
});