gpt4 book ai didi

caching - 如何在内容更新时使动态内容的 CloudFront 缓存失效

转载 作者:行者123 更新时间:2023-12-02 12:17:25 31 4
gpt4 key购买 nike

我正在使用 AWS Lambda、API Gateway 和 CloudFront 开发 Web API。
CloudFront 目前用作 API Gateway 某些端点的反向代理,缓存行为完全被禁用。

有几个常用的 API,其中内容很少更新(例如每周一次或每月一次),因此可以进行缓存以加快响应时间。

但是,我想知道如何在内容更新时使经常使用但很少更新动态内容的此类 CloudFront 缓存失效。
我的观察是,CloudFront 保留旧内容的缓存,因为 CloudFront 不会将请求传递到 API 源,直到缓存达到 max-age。

例如:假设我有一个 GET/projects/PROJECT_ID/members API。
项目成员很少更新,但一旦通过 PUT/projects/PROJECT_ID/members API 添加/删除成员,缓存应失效以提供项目成员的最新更新内容。

我是否应该使用 invalidation API 使非常特定的 URL(上面的示例中的 /projects/ABC/members)失效?每次更新其内容后(PUT/projects/ABC/members 调用)?
或者,我应该避免缓存此类动态内容吗?

最佳答案

您有两个选择:

1-每次有人编辑您的成员列表时调用失效 API。例如,如果有人添加/删除/编辑成员列表(不是获取请求),您应该调用 Cloudfront 中的失效 API 并使路径失效

/projects/PROJECT_ID/members

2-控制API端的缓存,有时您也可以为某些资源设置 header 以在Cloudfront中缓存。

有关 CloudFront 失效 API 的更多信息,请查看以下链接

https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateInvalidation.html

关于caching - 如何在内容更新时使动态内容的 CloudFront 缓存失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49705089/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com