本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amplify 如何将缓存配置应用于应用程序
为了管理应用程序的缓存,Amplify 通过检查应用程序的平台类型和重写规则来确定所提供的内容类型。对于 Compute
应用程序,Amplify 还会检查部署清单中的路由规则。
注意
应用程序的平台类型由 Amplify Hosting 在部署期间进行设置。SSG(静态)应用程序设置为平台类型 WEB
。SSR 应用程序(Next.js 12 或更高版本)设置为平台类型 WEB_COMPUTE
。
Amplify 识别以下四种类型的内容,并应用指定托管式缓存策略。
- 静态
-
使用
WEB
平台的应用程序提供的内容,或WEB_COMPUTE
应用程序中的静态路由。此内容使用 Amplify-StaticContent 缓存策略。
- 图像优化
-
WEB_COMPUTE
应用程序中的ImageOptimization
路由提供的图像。此内容使用 Amplify-ImageOptimization 缓存策略。
- 计算
-
WEB_COMPUTE
应用程序中的Compute
路由提供的内容。这包括所有服务器端渲染(SSR)的内容。此内容使用 Amplify-Default 或 Amplify-DefaultNoCookies 缓存策略,具体取决于在 Amplify
App
上设置的cacheConfig.type
值。 - 反向代理
-
由与反向代理重写自定义规则匹配的路径提供的内容。有关创建此自定义规则的更多信息,请参阅《使用重定向》一章中的反向代理重写。
此内容使用 Amplify-Default 或 Amplify-DefaultNoCookies 缓存策略,具体取决于在 Amplify
App
上设置的cacheConfig.type
值。
了解 Amplify 的托管式缓存策略
Amplify 使用以下预定义的托管式缓存策略来优化您的托管应用程序的默认缓存配置。
Amplify-Default
Amplify-DefaultNoCookies
Amplify-ImageOptimization
Amplify-StaticContent
Amplify-Default 托管式缓存策略设置
此策略适合用于作为 AWS Amplify
此策略包含以下设置:
-
最小 TTL:0 秒
-
最大 TTL:31536000 秒(一年)
-
原定设置 TTL:0 秒
-
缓存键中包含的标头:
-
Authorization
-
Accept
-
CloudFront-Viewer-Country
-
Host
-
-
缓存键中包含的 Cookie:包含所有 Cookie。
-
缓存键中包含的查询字符串:包含所有查询字符串。
-
缓存压缩对象设置:Gzip 和 Brotli 已启用。
Amplify-DefaultNoCookies 托管式缓存策略设置
此策略适合用于作为 AWS Amplify
此策略包含以下设置:
-
最小 TTL:0 秒
-
最大 TTL:31536000 秒(一年)
-
原定设置 TTL:0 秒
-
缓存键中包含的标头:
-
Authorization
-
Accept
-
CloudFront-Viewer-Country
-
Host
-
-
缓存键中包含的 Cookie:不包含任何 Cookie。
-
缓存键中包含的查询字符串:包含所有查询字符串。
-
缓存压缩对象设置:Gzip 和 Brotli 已启用。
Amplify-ImageOptimization 托管式缓存策略设置
此策略适合用于作为 AWS Amplify
此策略包含以下设置:
-
最小 TTL:0 秒
-
最大 TTL:31536000 秒(一年)
-
原定设置 TTL:0 秒
-
缓存键中包含的标头:
-
Authorization
-
Accept
-
Host
-
-
缓存键中包含的 Cookie:不包含任何 Cookie。
-
缓存键中包含的查询字符串:包含所有查询字符串。
-
缓存压缩对象设置:Gzip 和 Brotli 已启用。
Amplify-staticContent 托管式缓存策略设置
此策略适合用于作为 AWS Amplify
此策略包含以下设置:
-
最小 TTL:0 秒
-
最大 TTL:31536000 秒(一年)
-
原定设置 TTL:0 秒
-
缓存键中包含的标头:
-
Authorization
-
Host
-
-
缓存键中包含的 Cookie:不包含任何 Cookie。
-
缓存键中包含的查询字符串:不包含任何查询字符串。
-
缓存压缩对象设置:Gzip 和 Brotli 已启用。