javascript - nodejs服务器空闲数组内存分配
问题描述
这是我第一次创建 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();
}
解决方案
如果数组在函数内部,则无需担心,因为一旦函数完成执行,它就会释放其资源。但是,如果您在函数之外声明数组并在每次请求时将元素推入其中,那么您需要采取行动,因为它是全局保存的。
推荐阅读
- python - 循环通过 BeautifulSoup bs4.element.ResultSet
- javascript - React useEffect 仅在转到另一个页面并返回后才呈现
- javascript - 如何将重量为 85 kg 的数量拆分为 value=85 和 unit=kg 分别在打字稿中(角度)
- algorithm - 具有单位容量边的流网络中 Ford-Fulkerson 算法的时间复杂度
- amazon-web-services - 卓:Lambda 在生产中多久面临一次冷启动?
- java - Cadence CLI 最新镜像不支持最新版本镜像?
- ruby - gem update --default 破坏了 rbenv gemset 中的所有二进制文件
- ruby - Ruby 方法在没有副作用的哈希上操作
- r - 如何使用apply函数计算R中循环函数的平均值?
- python - 如何在for循环内访问元组中的列值?