了解 Firebase 云功能"cold start"



文档中提到

函数是无状态的,执行环境通常是从头开始初始化的,这被称为冷启动。

此语句意味着*有时*,函数不是从scracth初始化的,并且状态可以重用。

这是一个可靠的假设吗?

插图

var count = 0; // global variable
functiion mycouldFunction(){
count ++;
return count;
}

如果我调用myCloudFunction两次,间隔X时间,我应该期望它返回"1"然后返回"2"吗

然后在Y量时间后的第三次呼叫,我应该期望它再次返回"1"吗?

如果这是真的,那么X和Y的值是多少?

作为一种优化,云函数确实会有时重用服务器实例来处理多个请求。无法保证这种情况是否或何时会发生。除非您自己实现某种优化(例如内存缓存(,否则不建议在全局内存中存储任何内容,因为您的函数的任何一个调用都可能受到冷启动的影响。

不,云函数是无状态的,所以每次调用myCloudFunction时都会返回1。

为了实现您想要的目标,您需要将更新的值存储在Firestore或RTDB或类似的文件中,并在每次加载时读取更新的值。

什么";冷启动";指与上述内容无关,指的是如何服务功能。GCF将";关闭";不经常使用的功能,因此它们的响应可能比"正常"的功能慢;打开";并且准备接收请求。

相关内容

  • 没有找到相关文章

最新更新