gpt4 book ai didi

火力地堡功能 : Support Global variable across functions

转载 作者:行者123 更新时间:2023-12-05 08:23:02 25 4
gpt4 key购买 nike

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

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

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

最佳答案

在 Cloud Functions 中,您无法确保您的代码中存在可由您的函数访问的全局变量。关于 Cloud Functions 的工作原理,您需要了解两件事:

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

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

关于火力地堡功能 : Support Global variable across functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52687786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com