如何将对象存储在firebase云功能RAM中?

时间:2017-07-01 01:48:20

标签: firebase firebase-realtime-database google-cloud-platform google-cloud-functions

我的应用程序需要在处理用户请求之前构建几个大的哈希映射。理想情况下,我想将这些哈希映射存储在机器上的内存中,这意味着它永远不必进行任何昂贵的处理,并且可以快速处理任何传入的请求。

但这对firebase不起作用,因为用户有可能触发新实例,从而引发非常耗时的预处理步骤。

因此,我尝试设计我的应用程序以使用firebase数据库,并且每次只从数据库中获取所需的数据,而不是将所有数据保存在内存中。但是,由于云功能正在从数据库下载大量数据,我现在已经在本月触发了超过1.7 GB的下载,仅供我自己测试。这超过了配额。

必须有一些我不知道的东西;我想要的只是一些哈希映射的永久内存存储。我想要的只是在通过请求调用函数时准备好这些哈希映射。这似乎是一个简单的要求;怎么没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

如果要将数据存储在运行Cloud Functions的容器中,可以使用实际保存在内存中的its local tempfs。但是当容器被回收时,这将消失,这在您的功能暂时无法访问时发生。因此,只要容器旋转,就必须重建这个本地文件系统。

如果您希望永久存储您生成的值,请考虑使用Google云端存储。它可能是一种更具成本效益的选择,也是最具可扩展性的选择。