firebase - 缓存 Firebase 请求的云函数的示例,并且仅在成功编辑配置文件后重新缓存

标签 firebase caching google-cloud-functions firebase-hosting

在我的应用中,用户个人资料向公众开放,并且仅由个人资料所有者更新。

个人资料 URL 为 example.com/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a1d1d3cec7c8cdc49ed4d2c4d39ce1d4d2c4d38fccc4" rel="noreferrer noopener nofollow">[email protected]</a>

并基于文档 https://firebase.google.com/docs/hosting/functions 。我可以缓存函数的响应 JSON,在本例中为公共(public)配置文件。这将为我节省大量云函数执行和 Firebase 数据库带宽

当用户更新他的个人资料时,我想在 CDN 中重新缓存该个人资料。

我认为这可以通过让用户重新请求他的公开个人资料来完成,使用 Cache-Control: no-cache在成功更新他的个人资料后,在请求 header 中。

当用户随后访问相同的个人资料时,他将看到新版本。

这可能吗?或者不是这样Cache-Control应使用。

最佳答案

此处为 firebaser

Cloud Functions、Firebase Hosting 及其 CDN 之间的集成目前是纯粹基于生存时间的缓存。当您在 Cloud Functions 中设置缓存 header 时,CDN 会在您指定的时间段内将您的响应放入其边缘缓存中。一旦过期,CDN 边缘将停止提供缓存中的内容,并在该边缘上的用户请求时从服务器请求新副本。

我们知道,拥有一个 API 来告诉 CDN 刷新此内容将允许许多其他用例。但这目前不在 Firebase 托管的范围内。

关于firebase - 缓存 Firebase 请求的云函数的示例,并且仅在成功编辑配置文件后重新缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45255232/

相关文章:

android - 将图像从 Firebase 存储检索到 recyclerview

firebase - 当 Firebase 功能崩溃时,如何设置 Web Hook 以向 Slack 发送消息?

javascript - Cloud Functions for Firebase - 序列化返回值 : 时出错

python-3.x - Google 云功能在将数据流式传输到大查询时达到 10MB 速率限制,而不管使用的 block 如何?

Firebase 云功能部署 - 无效的内存属性

javascript - 如何处理带有条件分支的 TypeScript Promise?

python - memcached 中的 Scrapy http 缓存存储

python - 如何清除 memoize 缓存?

git - github存储库的本地缓存?

javascript - 用于推送通知的Firebase云功能不起作用