Nodejs Mongoose – 为客户端提供单个查询结果

我正在寻求实施一个解决scheme,我可以定期查询Mongoose数据库,然后将结果存储到我的客户端。

我假设这将减less我的用户拉动收集时的响应时间。

我试图通过创build一个空的全局对象,然后编写一个查询数据库的函数,然后将结果存储为前面提到的全局对象来实现这个计划。 在函数结束后,我将setTimeout设置为60秒,然后再次运行该函数。 当第一次运行应用程序时,我第一次调用这个函数。

然后,我设置我的客户端,以便当他们要求收集时,它会首先查看是否存在全局对象,如果是这样,则返回作为响应。 我想这会把我7-10秒的查询时间缩短到1秒以内。

在我的新手思维中,我认为Nodejs是“单线程”这样的东西可以工作得很好 – 但它似乎吃掉了我所有的RAM,并导致致命的错误。

我的思路是正确的,还是每次人们收集数据时都要查询数据库?

这是有问题的代码:

var allLeads = {}; var getAllLeads = function(){ allLeads = {}; console.log('Getting All Leads...'); Lead.find().sort('-lastCalled').exec(function(err, leads) { if (err) { console.log('Error getting leads'); } else { allLeads = leads; } }); setTimeout(function(){ getAllLeads(); }, 60000); }; getAllLeads(); 

提前感谢你的帮助。