optimize getPostSummaryByPids

This commit is contained in:
barisusakli
2014-07-29 17:33:28 -04:00
parent 1a68fe5a26
commit eeb4c9f487
3 changed files with 122 additions and 63 deletions

View File

@@ -1,5 +1,7 @@
"use strict";
var async = require('async');
module.exports = function(db, module) {
var helpers = module.helpers.mongo;
@@ -119,6 +121,17 @@ module.exports = function(db, module) {
});
}
module.sortedSetsRanks = function(keys, values, callback) {
var data = new Array(values.length);
for (var i=0; i<values.length; ++i) {
data[i] = {key: keys[i], value: values[i]};
}
async.map(data, function(item, next) {
getSortedSetRank(module.getSortedSetRange, item.key, item.value, next);
}, callback);
};
module.sortedSetScore = function(key, value, callback) {
value = helpers.valueToString(value);
db.collection('objects').findOne({_key:key, value: value}, {fields:{score:1}}, function(err, result) {

View File

@@ -54,6 +54,14 @@ module.exports = function(redisClient, module) {
redisClient.zrank(key, value, callback);
};
module.sortedSetsRanks = function(keys, values, callback) {
var multi = redisClient.multi();
for(var i=0; i<values.length; ++i) {
multi.zrank(keys[i], values[i]);
}
multi.exec(callback);
};
module.sortedSetRevRank = function(key, value, callback) {
redisClient.zrevrank(key, value, callback);
};