了解Firebase云功能“;“冷启动”;
文件中提到 函数是无状态的,执行环境通常是 从头开始初始化,这称为冷启动 此语句表示*有时*,函数不是从scracth初始化的,状态可以重用 这是可靠的假设吗 插图 如果我调用了解Firebase云功能“;“冷启动”;,firebase,google-cloud-platform,google-cloud-firestore,google-cloud-functions,Firebase,Google Cloud Platform,Google Cloud Firestore,Google Cloud Functions,文件中提到 函数是无状态的,执行环境通常是 从头开始初始化,这称为冷启动 此语句表示*有时*,函数不是从scracth初始化的,状态可以重用 这是可靠的假设吗 插图 如果我调用myCloudFunction两次,间隔时间为X,我应该期望它返回“1”然后返回“2”吗 然后在Y数量时间之后第三次呼叫,我应该期望它再次返回“1” 如果这是真的,那么X和Y的值是多少?否,云函数是无状态的,因此每次调用myCloudFunction时,它都会返回1 为了实现您想要的,您需要将更新后的值存储在Firesto
myCloudFunction
两次,间隔时间为X,我应该期望它返回“1”然后返回“2”吗
然后在Y数量时间之后第三次呼叫,我应该期望它再次返回“1”
如果这是真的,那么X和Y的值是多少?否,云函数是无状态的,因此每次调用
myCloudFunction
时,它都会返回1
为了实现您想要的,您需要将更新后的值存储在Firestore或RTDB或类似文件中,并在每次加载时读取更新后的值
“冷启动”所指的与上述内容无关,而是指如何提供功能。GCF将“关闭”不常使用的功能,因此它们的响应速度可能比“打开”并准备好接收请求的功能慢。云功能确实将有时作为优化重用服务器实例来处理多个请求。无法保证是否或何时会发生这种情况。除非您自己实现某种优化(例如,内存缓存),否则不建议在全局内存中存储任何内容,因为您的函数在任何一次调用时都可能受到冷启动的影响。my bad您已经到达了文档的正确部分。我想你会发现以下内容也非常有用!这不是真的。虽然函数在一般意义上是无状态的,但云函数实际上将重用服务器实例以及任何全局内存,用于将来的一些调用。只是不能保证这样做。
var count = 0; // global variable
functiion mycouldFunction(){
count ++;
return count;
}