变量值在Node.js中随机变化



我用这个结构构建了一个node.js应用程序:

在应用中.js:

var myList = ['0'];
app.get('/webpage',function(req,res){
    console.log(myList);
    res.render('webpage.ejs', {exps: myList});
});

在"网页"上,我可以显示myList,还有一个表单可以让我向myList添加元素。假设我通过此表单将"1"附加到myList

我有以下问题,我不知道如何调试:

  • 在我的本地计算机上,此应用程序运行良好:每次刷新"网页"时,我都可以在控制台中看到['0','1']
  • 在 Heroku 上在线,当我刷新"网页"时,有时我看到['0','1']有时我只看到['0'],几次刷新后我再次看到['0','1']:就像myList在应用程序首次启动时的默认值和稍后指定的值之间随机振荡。

我在本地和 heroku 上使用相同的 npm 和节点版本以及相同版本的依赖项。据我所知,我在当地和 heroku 有相同的环境,所以我不知道这个问题可能来自哪里。

您可能在 Heroku 上运行多个实例,在这种情况下,每个请求可能会分配给不同的实例,每个实例都有自己的进程和内存空间。

我相信 Heroku 也会在一段时间不活动后关闭实例,所以这也可能是个问题。

如果您打算持久化某些内容,将其存储在数据库中怎么样?

最新更新