我有一个谷歌云功能,使用api来服务于用户的信息。也就是说,我不应该像我正在使用的api良好实践所指定的那样,对每个请求进行API调用,所以我必须缓存结果。
我想缓存它,以获得快速访问,但仍然使用谷歌的免费层更好(或任何其他免费层选择,很好地工作)。
谢谢:)
发布于 2020-07-13 21:50:24
我不能理解你的问题,但我认为你正在尝试使用云函数创建一个内存缓存解决方案。这是不可能的。
云函数应该是无状态的,请看一下official documention。同样的规则也适用于Cloud Run。
但是,您可以使用工具的组合来实现您的目标,例如Redis Memorystore,但这不是自由层。
另一种选择可能是使用firestore来缓存你的结果,但是,我会先检查你的用例,以确保你不会很快用完空闲层。
为内存中的解决方案找到一个免费的解决方案是非常困难的。
干杯
发布于 2020-07-13 22:50:11
您可以将API结果保存在内存中,也可以保存在/tmp磁盘(实际上也存储在内存中)中。由于Cloud Functions镜像的最小内存大小为128MB,因此在缓存API结果上花费5MB似乎是合理的。
正如Andres回答的那样:请记住,云函数是短暂的,并根据需要上下旋转,所以不知道调用云函数与调用后端API相比,调用云函数提供缓存结果的频率有多高。
https://stackoverflow.com/questions/62876951
复制相似问题