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

时间:2015-03-10 16:21:47

标签: node.js heroku

我已经构建了一个具有以下结构的node.js应用程序:

在app.js中:

var myList = ['0'];

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

在“网页”上我可以显示myList,还有一个表单允许我向myList添加元素。假设我通过此表单向myList追加'1'。

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

  • 在我的计算机本地,此应用程序正常工作:每次刷新“网页”时,我都可以在控制台中看到['0','1']
  • 在Heroku上在线,当我刷新“网页”时有时我会看到['0','1']有时我会看到['0']并稍后刷新几次我再次看到['0','1']:它就像{{} 1}}在首次启动应用时的默认值和稍后指定的值之间随机振荡。

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

1 个答案:

答案 0 :(得分:1)

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

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

如果您打算坚持某些东西,那么如何将其存储在数据库中呢?