我想将最近的记录(比如最近的24小时)缓存到一个http firebase函数中。在http函数(例如fetchLastXRecords)中,如果找不到从数据库获取并设置缓存,我将在缓存中查找记录(定义的全局变量来存储记录)。
当我想更新缓存的任何记录时会出现问题,因为其他的firebase函数无法访问这个全局变量(可能是实时数据库更改触发器)。
什么是更新缓存中记录的好方法?我可以调用缓存http防火墙函数并传递更新的记录吗?或者我可以将更新的记录存储在数据库中,并在以后的缓存功能中查找数据库并更新缓存记录?
发布于 2018-10-07 17:44:10
在云函数中,您无法确保代码中有一个可由您的函数访问的全局变量。关于云函数是如何工作的,您需要了解两件事:
因此,如果要在函数之间共享任何值,则应该使用持久化机制,例如数据库。当您的函数需要读取和写入共享值时,它们应该访问数据库。此外,他们应该使用某种原子事务来确保多个并发读写是安全的。
https://stackoverflow.com/questions/52687786
复制相似问题