作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 http firebase 函数中缓存最近的记录(比如最近 24 小时)。在 http firebase 函数(比如 fetchLastXRecords)中,如果没有找到,我会在缓存中查找记录(定义的全局变量来存储记录)从数据库中获取并设置缓存。
当我想更新任何缓存记录时出现问题,因为其他 firebase 函数无法访问此全局变量(可能是实时数据库更改触发器)。
什么是更新缓存中记录的好方法?也许我可以调用缓存 http firebase 函数并传递更新的记录?或者我可以将更新的记录存储在数据库中,稍后缓存功能会在数据库中查找并更新缓存记录?
最佳答案
在 Cloud Functions 中,您无法确保您的代码中存在可由您的函数访问的全局变量。关于 Cloud Functions 的工作原理,您需要了解两件事:
因此,如果您有任何值要在函数之间共享,则应使用持久性机制,例如数据库。当您的函数需要读取和写入共享值时,它们应该访问数据库。此外,他们应该使用某种原子事务来确保多个并发读取和写入是安全的。
关于火力地堡功能 : Support Global variable across functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52687786/
我是一名优秀的程序员,十分优秀!