【问题标题】:Can Firebase Cloud Functions Use an In-Memory Cache?Firebase 云函数可以使用内存缓存吗?
【发布时间】:2020-04-19 13:29:45
【问题描述】:

我在一个项目中使用 Firebase cloud functions,其中一些函数从 firebase 数据库中获取数据。

我想通过利用 LRU 缓存来加速其中一些查询,但不清楚这是否可以通过 Firebase 云功能实现。

有谁知道 Firebase 云功能是否可以访问任何类型的缓存/半永久内存访问?其他人可以在这个问题上提供的任何帮助都会非常有帮助!

【问题讨论】:

  • 据我所知,这是不可能的,功能是短暂的,我发现最接近我自己的云内存存储实例,但我确定这是否适合您的用例。

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


【解决方案1】:

如果您想在函数调用之间共享任何类型的持久性数据,您将不得不使用另一个产品,并编写您的函数以使用它。 Cloud Functions 本身只能立即访问正在运行特定调用的服务器实例上的内存,并且可能有许多服务器实例同时运行所有函数。

如果您可以在每个实例的内存中维护一个小型本地缓存,那很好。但是,如果您允许缓存变得如此之大,以至于函数无法在内存有限的情况下完成工作,您就会遇到问题。您还应该期望缓存在服务器实例被解除分配时被重置,这发生在您的控制之外。

由于您在 Google Cloud 中工作,请考虑使用 Memorystore 等产品来实现缓存。

【讨论】:

  • 非常感谢!如果我想尝试快速而肮脏的每个实例缓存,我可以使用global 引用全局命名空间吗?
  • 你不需要做任何特别的事情来制作一个全球性的。只需在全局范围内声明它并在该文件中的任意位置使用它。
  • 哇,太棒了!我想我已经加入了 Redis 产品,但很高兴知道这一点!
  • 如果你看到这个,我有一个快速跟进——Firebase 云函数实例分配了多少 RAM?再次感谢您的帮助!
猜你喜欢
  • 2018-05-29
  • 2019-06-01
  • 2018-08-18
  • 2021-03-02
  • 2017-08-26
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 2011-11-19
相关资源
最近更新 更多