在 Google App Engine 上运行的代码中使用全局变量是否存在问题?
假设我们有:
const ws = [];
function newUser(){
ws.push({name:"user"});
}
我知道如果我们在本地运行此代码,只要程序正在运行且未终止,数组就会保存已添加到其中的数据,当我们在 Google App Engine 上运行此代码时是否也是如此,无服务器架构是否会以某种方式影响这一点?
答案1
App Engine 中的全局变量的行为类似于本地设置。在这种情况下,数组将保存数据,直到程序结束或机器死机。
您需要考虑到的是,拥有多个实例意味着每个实例中同一变量的值可能不同。您可以使用 Datastore 等外部数据源为多个实例保留全局变量。
如果您对此还有更多疑问,请告诉我。