这是我第一次创建 Nodejs 服务器,我注意到全局变量值在对服务器的不同查询之间是持久的,这让我思考我应该清除数组或做任何其他事情来减少内存使用情况?
例如,如果我有一个数组(在函数内声明),该数组被推送值并记录到 response.send(JSON.stringify(array))
,我应该将其设置为 null函数调用之后?
此外,Nodejs 中是否有更好的方法来处理连接/请求/响应的结束,以减少内存使用?
...
code
...
if (results.length > 0) {
var cur_data = {};
cur_data["day"] = day_i;
cur_data["data"] = results;
ret_val.push(cur_data);
}
...
code
...
finish(con, req, res, JSONstringfy(ret_val), false);
ret_val = null;
function finish(con, req, res, log, is_error)
{
req.pause();
res.status(is_error == true ? 400 : 200);
res.send(log);
con.end();
}
最佳答案
如果数组位于函数内部,则无需担心,因为一旦函数完成执行,它就会释放其资源。 但是,如果您在函数外部声明数组并在每次请求时将元素推送到其中,那么您需要采取行动,因为它是全局保存的。
关于javascript - NodeJS服务器空闲数组内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60335947/