節點版本:V7.4.0NodeRedis client.multi()hgetall性能
節點redis的版本:v.2.6.2
redis_version:2.8.4
的ubuntu 14.04 2GB RAM VPS實例
我得到的跡象表明,node_redis hgetall性能不是它應該是,但可能我做錯了什麼。我有一個有31669個元素的排序集。元素是散列鍵,每個散列有14個字段,大小約爲256字節。檢索散列需要64秒,這似乎太慢了。 下面是函數的樣子:
function getAllAnnotations()
{
var currentSeconds = Math.floor((new Date()).getTime()/1000);
console.log('currentSeconds before zrange: ' + currentSeconds);
client.zrangebyscore("geoHashSortedSet", "-inf", "+inf", function(err, reply) {
multi = client.multi();
for (var uuid in reply) {
multi.hgetall(reply[uuid]);
}
multi.exec(function(err, replies) {
var currentSeconds = Math.floor((new Date()).getTime()/1000);
console.log('currentSeconds after multi returns: ' + currentSeconds);
allAnnotations = replies;
});
});
}
千萬人在這裏都認爲這是表現不佳,有什麼我做在上面的代碼,這是問題的一部分?
您是否嘗試過['client.batch()'](https://github.com/NodeRedis/node_redis#clientbatchcommands)?你也不只是計時批次,而是'zrangebyscore'。 – robertklep
我會嘗試client.batch()。是的,我意識到我正在計時zrangebyscore。大概我不應該包括它。謝謝。 – bhartsb