added 2 new methods to dbal

getSortedSetRangeWithScores
getSortedSetRangeByScoreWithScores
This commit is contained in:
barisusakli
2014-10-31 17:19:50 -04:00
parent c44068db52
commit 1fe82ee452
2 changed files with 28 additions and 4 deletions

View File

@@ -134,6 +134,10 @@ module.exports = function(db, module) {
getSortedSetRange(key, start, stop, -1, false, callback);
};
module.getSortedSetRangeWithScores = function(key, start, stop, callback) {
getSortedSetRange(key, start, stop, 1, true, callback);
};
module.getSortedSetRevRangeWithScores = function(key, start, stop, callback) {
getSortedSetRange(key, start, stop, -1, true, callback);
};
@@ -146,6 +150,10 @@ module.exports = function(db, module) {
getSortedSetRangeByScore(key, start, count, min, max, -1, false, callback);
};
module.getSortedSetRangeByScoreWithScores = function(key, start, count, min, max, callback) {
getSortedSetRangeByScore(key, start, count, min, max, -1, true, callback);
};
module.getSortedSetRevRangeByScoreWithScores = function(key, start, count, max, min, callback) {
getSortedSetRangeByScore(key, start, count, min, max, -1, true, callback);
};

View File

@@ -81,8 +81,16 @@ module.exports = function(redisClient, module) {
redisClient.zrevrange(key, start, stop, callback);
};
module.getSortedSetRangeWithScores = function(key, start, stop, callback) {
sortedSetRangeWithScores('zrange', key, start, stop, callback);
};
module.getSortedSetRevRangeWithScores = function(key, start, stop, callback) {
redisClient.zrevrange([key, start, stop, 'WITHSCORES'], function(err, data) {
sortedSetRangeWithScores('zrevrange', key, start, stop, callback);
};
function sortedSetRangeWithScores(method, key, start, stop, callback) {
redisClient[method]([key, start, stop, 'WITHSCORES'], function(err, data) {
if (err) {
return callback(err);
}
@@ -92,7 +100,7 @@ module.exports = function(redisClient, module) {
}
callback(null, objects);
});
};
}
module.getSortedSetRangeByScore = function(key, start, count, min, max, callback) {
redisClient.zrangebyscore([key, min, max, 'LIMIT', start, count], callback);
@@ -102,8 +110,16 @@ module.exports = function(redisClient, module) {
redisClient.zrevrangebyscore([key, max, min, 'LIMIT', start, count], callback);
};
module.getSortedSetRangeByScoreWithScores = function(key, start, count, min, max, callback) {
sortedSetRangeByScoreWithScores('zrangebyscore', key, start, count, min, max, callback);
};
module.getSortedSetRevRangeByScoreWithScores = function(key, start, count, max, min, callback) {
redisClient.zrevrangebyscore([key, max, min, 'WITHSCORES', 'LIMIT', start, count], function(err, data) {
sortedSetRangeByScoreWithScores('zrevrangebyscore', key, start, count, max, min, callback);
};
function sortedSetRangeByScoreWithScores(method, key, start, count, min, max, callback) {
redisClient[method]([key, min, max, 'WITHSCORES', 'LIMIT', start, count], function(err, data) {
if (err) {
return callback(err);
}
@@ -113,7 +129,7 @@ module.exports = function(redisClient, module) {
}
callback(null, objects);
});
};
}
module.sortedSetCount = function(key, min, max, callback) {
redisClient.zcount(key, min, max, callback);