是否可以在独立于请求的URL的Firebase Hosting中缓存Cloud Function调用结果?

最高

我将Firebase Hosting中的多个路径重写为始终返回相同结果的Cloud Function。我需要调用一次函数,缓存其结果,然后将其返回到这些路径中的任何后续请求。但是,如文档 所述,根据以下内容提供缓存的内容:

  • 主机名
  • 路径
  • 查询字符串
  • Vary标头中指定的请求标头的内容

因此,如果请求了其他URL,则将再次调用该函数。但是有办法避免这种情况吗?设置Cache-Control标头确实可以防止在请求相同的URL时再次调用该函数,但在请求不同的URL时不会。


这是我的主机和功能配置:

firebase.json

{
  "hosting": {
    "rewrites": [
      {
        "source": "**",
        "function": "myFunction"
      }
    ]
  }
}

functions/index.ts

import * as functions from "firebase-functions"

export const myFunction = functions.https.onRequest((req, res) => {
    res.set("Cache-Control", "public, max-age=31536000")
    res.send("This is a Cloud Function.")
})
卡安娜

Firebase托管(和Web浏览器)的缓存行为始终取决于URL路径。

根据您的目标,有几种方法可以尝试解决此问题:

  1. 使用重定向(例如到/)而不是重写。然后,云功能只能在已知(和可缓存)路径上提供内容。
  2. 在每个路径上提供一个静态页面而不是云函数,然后让该静态页面使用javascript在已知的缓存路径上调用您的云函数。最初的静态页面不会被缓存,但是它应该比函数更快。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否对Net:HTTP调用/ Rails中的结果进行缓存?

来自分类Dev

是否可以独立于父元素隐藏页面中的所有文本?

来自分类Dev

是否可以独立于父元素隐藏页面中的所有文本?

来自分类Dev

在 rails 中缓存 http 调用结果

来自分类Dev

是否可以独立于阵列中的其他驱动器访问mdadm软件RAID 1驱动器?

来自分类Dev

QuantLib中的隐含波动率是否独立于定价引擎?

来自分类Dev

Firebase Google Cloud Function 调用外部端点

来自分类Dev

请求-承诺:缓存结果

来自分类Dev

Firebase Google Cloud Function:createReadStream结果为空文件

来自分类Dev

我可以在C#中包装Func来缓存结果

来自分类Dev

在lodash.js中,是否会缓存`.value()`方法的结果?

来自分类Dev

C#中的吸气剂是否可以在线缓存其结果?

来自分类Dev

是否可以在主目录中调用firebase.initializeApp()

来自分类Dev

如何独立于IIS缓存数据

来自分类Dev

在AJAX中缓存的结果

来自分类Dev

CloudFront是否可以缓存REST API调用

来自分类Dev

在Firebase Cloud功能中获取请求URL

来自分类Dev

使用结果缓存防止重复的 $.ajax 调用

来自分类Dev

缓存先前调用 lapacke gelsd 的中间结果

来自分类Dev

检查列中的数字是否独立于直接单元格引用正确计数

来自分类Dev

如何检查BigDecimal是否以独立于比例的方式位于Set或Map中?

来自分类Dev

函数调用中的结果指针

来自分类Dev

如何更改引用的 Firebase Cloud Function onCreate 调用的数据库 url?

来自分类Dev

有没有一种方法可以缓存Single的结果,或者避免在与多个订户一起调用时多次执行该结果?

来自分类Dev

是否可以将Function传递给ExecutorService而不是在Java 8中可调用?

来自分类Dev

在Haskell中缓存函数的结果

来自分类Dev

有没有一种方法可以过滤R中函数调用的结果?

来自分类Dev

有没有一种方法可以过滤R中函数调用的结果?

来自分类Dev

我可以调用 2 个 apoc 过程并在 cypher 中组合结果集吗?

Related 相关文章

  1. 1

    是否对Net:HTTP调用/ Rails中的结果进行缓存?

  2. 2

    是否可以独立于父元素隐藏页面中的所有文本?

  3. 3

    是否可以独立于父元素隐藏页面中的所有文本?

  4. 4

    在 rails 中缓存 http 调用结果

  5. 5

    是否可以独立于阵列中的其他驱动器访问mdadm软件RAID 1驱动器?

  6. 6

    QuantLib中的隐含波动率是否独立于定价引擎?

  7. 7

    Firebase Google Cloud Function 调用外部端点

  8. 8

    请求-承诺:缓存结果

  9. 9

    Firebase Google Cloud Function:createReadStream结果为空文件

  10. 10

    我可以在C#中包装Func来缓存结果

  11. 11

    在lodash.js中,是否会缓存`.value()`方法的结果?

  12. 12

    C#中的吸气剂是否可以在线缓存其结果?

  13. 13

    是否可以在主目录中调用firebase.initializeApp()

  14. 14

    如何独立于IIS缓存数据

  15. 15

    在AJAX中缓存的结果

  16. 16

    CloudFront是否可以缓存REST API调用

  17. 17

    在Firebase Cloud功能中获取请求URL

  18. 18

    使用结果缓存防止重复的 $.ajax 调用

  19. 19

    缓存先前调用 lapacke gelsd 的中间结果

  20. 20

    检查列中的数字是否独立于直接单元格引用正确计数

  21. 21

    如何检查BigDecimal是否以独立于比例的方式位于Set或Map中?

  22. 22

    函数调用中的结果指针

  23. 23

    如何更改引用的 Firebase Cloud Function onCreate 调用的数据库 url?

  24. 24

    有没有一种方法可以缓存Single的结果,或者避免在与多个订户一起调用时多次执行该结果?

  25. 25

    是否可以将Function传递给ExecutorService而不是在Java 8中可调用?

  26. 26

    在Haskell中缓存函数的结果

  27. 27

    有没有一种方法可以过滤R中函数调用的结果?

  28. 28

    有没有一种方法可以过滤R中函数调用的结果?

  29. 29

    我可以调用 2 个 apoc 过程并在 cypher 中组合结果集吗?

热门标签

归档