javascript - NodeJS服务器空闲数组内存分配

标签 javascript node.js

这是我第一次创建 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/

相关文章:

javascript - 如何通过 npm run-script 将标志传递给 nodejs 应用程序?

node.js - 在事件发射器中使用异步

javascript - 我如何监听 jQuery daterangepicker 中的开始日期变化

javascript - 无效的 HTTP 响应代码 ‘0’

javascript - 如何创建智能局域网或公司 npm 注册表(node.js 包存储库)?

javascript - 环回。如何获得一个用户的所有角色?

javascript - 为什么我无法添加到数字对象属性?

javascript - 修复 URl,使其不存在空格

javascript - 如何使用作为生成器并能够链接它们的函数来扩展数组?

javascript - 在 NodeJS 中使用相同的参数在回调函数中调用父函数