这是我第一次创建 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();
}

#1楼 票数:1 已采纳

如果数组在函数内部,则无需担心,因为函数一旦执行完毕就会释放其资源。 但是,如果您在函数外部声明数组并在每次请求时将元素推入其中,则您需要采取行动,因为它正在全局保存。

  ask by dvrer translate from so

未解决问题?本站智能推荐:

2回复

nodejs中的数组内存分配

我正在处理一个巨大的数组, 它包含约 200,000 个元素。 基本上它是一个字符串数组。 每个字符串的长度约为 50 个字符。 环顾四周后,我发现 1 个字符需要 2 个字节,即 1 个元素需要 100 个字节。 因此,总内存分配应该加起来为200,000 * 100 = ~20 MB o
2回复

在nodeJs服务器中处理c程序返回的数组

我编译了一个C程序(在 linux 中从array.c编译的array.out )它返回一个指向双精度数组的指针。 数组.c : 我还有一个正在运行的 express nodejs 服务器: 有没有办法在 express nodeJs 服务器中调用该c程序( array.out )并处理其
1回复

使用querystring解析发布到nodejs服务器的数组

我总是使用querystring来解析客户端发布的数据。 但这是我第一次发布数组,并且遇到了同样的问题。 客户端: 服务器端: 我的问题? 好吧,首先请注意以下注释:关键是ids[]与简单ids 。 好奇怪又烦人。 最大的问题是: 如果我通过一个字符串传递这样的数组
2回复

将数组从NodeJS服务器传递到客户端?

学习自己制作网站。 我以前只有一个对象遇到过这个问题,但是我可以使其工作并在客户端使用该对象。 但是,现在我正尝试将一系列位置发送给客户端,以便将它们作为标记呈现在google maps api上(它们在JSON中存储了placeID)。 根据我曾经读过的线程,不能像对象一样发送数组,但是
2回复

NodeJS服务器超时

我的服务器上安装了Express NodeJS实例。 “我猜”超载后,API停止响应。 回应如下。 我尝试在./bin/www中./bin/www 和/app.js 但这不能解决问题。 API定义 一旦响应停止,Linux服务器上的top出现以下响应。
2回复

NodeJS服务器请求

我正在使用NodeJS,但我仍然很熟悉。 根据我的系统结构,我有两个在不同机器上运行的NodeJS服务器。 用户/浏览器向第一台服务器发送请求,第一台服务器向浏览器返回位于第一台计算机中的JSON文件。 该第一台服务器还会每5-10秒更新一次此JSON文件,向第二台服务器发送请求,
4回复

NodeJS服务器错误

我学习Angular的第三天。 我到达了学习有关进行Ajax调用的程度,但是我陷入了一个教程要求我运行server.js 。 我已经安装了nodejs并express但是当我尝试运行node server.js 编辑: 我尝试按照他们网站上的示例将代码从express 3.0更改
1回复

服务器上的NodeJS和SocketIO

我的服务器上的NodeJS和SocketIO设置出现问题,我想通过以下方式访问HTTP端口 var socket = io.connect(“ http://domain.com:8070 ”); 可悲的是这返回ERR_CONNECTION_TIMED_OUT 这是我的服务器: