Javascript Node.js对象实例化是否为每个用户创建一个对象?

Javascript Node.js对象实例化是否为每个用户创建一个对象?,javascript,node.js,rest,instances,Javascript,Node.js,Rest,Instances,所以我正在学习如何在Node.js中创建RESTful API,其中一部分突然让我有点担心。在应用程序中,一个对象被实例化以处理称为TaskRepository的RESTful请求 根据本教程的相关内容,您将看到以下代码片段: var taskRepository = new TaskRepository(); 我的问题是,这会为每个用户实例化一个TaskRepository对象吗?在这种情况下,如果流量足够大,是否有可能会很快耗尽内存 这里的最佳实践是什么 此外,如果是这种情况,您将如何通过

所以我正在学习如何在Node.js中创建RESTful API,其中一部分突然让我有点担心。在应用程序中,一个对象被实例化以处理称为TaskRepository的RESTful请求

根据本教程的相关内容,您将看到以下代码片段:

var taskRepository = new TaskRepository();
我的问题是,这会为每个用户实例化一个TaskRepository对象吗?在这种情况下,如果流量足够大,是否有可能会很快耗尽内存

这里的最佳实践是什么


此外,如果是这种情况,您将如何通过编程绕过它以避免将来的交通堵塞?

在该特定API中,有一个创建任务的API,它返回一个任务ID。该任务将一直存在,直到将来的某个API调用引用该特定ID并使用删除操作

TaskRepository是为服务器创建一次的每台服务器,而不是每个用户

这些任务不是针对每个用户的,但是当您创建一个任务并将其返回给请求者时,只有请求者可能知道该ID并使用它,尽管由于本例不创建随机ID,它们是可预测的,因此任何人都可以引用特定ID


如果在创建任务后不删除它们,它们将随着时间的推移而累积。通常,类似这样的操作会产生某种非活动超时,如果任务在某个时间段(例如30分钟)内未被使用,则会自动删除任务。

在该特定API中,有一个用于创建任务的API,它返回一个任务ID。该任务将一直存在,直到将来的某个API调用引用该特定ID并使用删除操作

TaskRepository是为服务器创建一次的每台服务器,而不是每个用户

这些任务不是针对每个用户的,但是当您创建一个任务并将其返回给请求者时,只有请求者可能知道该ID并使用它,尽管由于本例不创建随机ID,它们是可预测的,因此任何人都可以引用特定ID


如果在创建任务后不删除它们,它们将随着时间的推移而累积。通常,类似这样的操作会产生某种不活动超时,如果任务在某个时间段(例如30分钟)内未使用,则会自动删除任务。

对于链接的要点,答案是否定的。在创建var app=express旁边设置服务器时,会调用一次new TaskRepository,然后将共享一个实例并用于所有请求


现在,如果您在route app.get'stuff/etc'函数{}中调用了new TaskRepository,那么您是正确的。它将根据HTTP请求创建一个新的TaskRepository实例。

对于链接的Gist,答案是否。在创建var app=express旁边设置服务器时,会调用一次new TaskRepository,然后一个实例将被共享并用于所有请求


现在,如果您在route app.get'stuff/etc'函数{}中调用了new TaskRepository,那么您是正确的。它将根据HTTP请求创建TaskRepository的新实例。

用户是什么?你是说客户端吗?不,只有一个taskRepository被静态实例化,在请求处理回调之外。用户是什么?你是说客户端吗?不,在请求处理回调之外,只有一个taskRepository静态实例化。