首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase函数:支持跨功能的全局变量

问Firebase函数:支持跨功能的全局变量
EN

Stack Overflow用户
提问于 2018-10-07 10:53:01
回答 1查看 3K关注 0票数 2

我想将最近的记录(比如最近的24小时)缓存到一个http firebase函数中。在http函数(例如fetchLastXRecords)中,如果找不到从数据库获取并设置缓存,我将在缓存中查找记录(定义的全局变量来存储记录)。

当我想更新缓存的任何记录时会出现问题,因为其他的firebase函数无法访问这个全局变量(可能是实时数据库更改触发器)。

什么是更新缓存中记录的好方法?我可以调用缓存http防火墙函数并传递更新的记录吗?或者我可以将更新的记录存储在数据库中,并在以后的缓存功能中查找数据库并更新缓存记录?

EN

回答 1

Stack Overflow用户

发布于 2018-10-07 17:44:10

在云函数中,您无法确保代码中有一个可由您的函数访问的全局变量。关于云函数是如何工作的,您需要了解两件事:

  1. 在负载下,将分配多个服务器实例来运行您的函数。这些服务器实例不共享任何状态。
  2. 每个函数都部署到不同的服务器实例中。两个函数永远不会在同一个服务器实例上运行。

因此,如果要在函数之间共享任何值,则应该使用持久化机制,例如数据库。当您的函数需要读取和写入共享值时,它们应该访问数据库。此外,他们应该使用某种原子事务来确保多个并发读写是安全的。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52687786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档