firebase - 如何将对象存储在 firebase cloud function RAM 中?

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

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

但这不适用于 Firebase,因为用户有可能触发一个新实例,从而启动非常耗时的预处理步骤。

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

一定是我遗漏了一些东西;我想要的只是一些 HashMap 的永久内存存储。我想要的只是让这些 HashMap 在通过请求调用函数时准备好。这似乎是一个简单的要求;怎么就没有办法做到这一点呢?

最佳答案

如果您想将数据存储在运行 Cloud Functions 的容器中,可以使用 its local tempfs ,实际上保存在内存中。但是,当容器被回收时,这种情况就会消失,当您的函数有一段时间没有被访问时,就会发生这种情况。因此,只要容器启动,就必须重建此本地文件系统。

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

关于firebase - 如何将对象存储在 firebase cloud function RAM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44856676/

相关文章:

javascript - 云函数: Delete file from storage

javascript - 如何在 Firebase 上保存数据?

swift - 如何获得所有真值

google-app-engine - Certbot:尝试在 Google Cloud Platform 的 App Engine 上为应用程序创建通配符证书时出现 "Some challenges failed"

Android/Firebase - 无法将 java.util.ArrayList 类型的对象转换为类型 **我的对象**

firebase - 如何从 Firebase 云功能访问 bigquery 数据?

android - 从 android 中的 firebase 实时数据库中检索大于特定值的值

google-cloud-platform - 在没有 gcloud 的情况下获取服务帐户身份验证 token ?

java - Google Cloud 数据存储 API Java

javascript - Axios 正在阻止执行其他方法