【发布时间】:2012-02-29 18:24:03
【问题描述】:
如果你运行下面的代码,然后重新启动你的redis服务器,你会得到一两个uncaughtException,但不再有错误了,然后内存增长很快,我想知道为什么以及如何解决这个问题问题。
/**
* This code will memory leak, if you restart redis server when the node process is running
*
* @author Gui Lin
*/
var redis = require('redis').createClient();
setInterval(function(){
redis.multi()
.zrangebyscore('timeup', 0, Date.now())
.zremrangebyscore('timeup', 0, Date.now())
.exec(function(err, data) {
if(err) console.log(err.stack);
if(data) data = data[0];
});
}, 1);
process.on('uncaughtException', function(err) {
console.log(err.stack);
})
【问题讨论】: