

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 管理应用程序的缓存配置
<a name="caching"></a>

Amplify 使用亚马逊 CloudFront 来管理您的托管应用程序的缓存配置。缓存配置会应用于每个应用程序，以实现优化，获得最佳性能。

2024 年 8 月 13 日，Amplify 发布了对于应用程序缓存效率的改进。有关更多信息，请参阅 [CDN 缓存改进，通过 AWS Amplify 托管提高应用程序性能](https://aws.amazon.com/blogs/mobile/cdn-caching-improvements-for-better-app-performance-with-aws-amplify-hosting/)。

下表汇总了 Amplify 对缓存改进发布前后的特定缓存行为的支持。


| 缓存行为 | 之前的支持 | 使用缓存改进时 | 
| --- | --- | --- | 
| 您可以在 Amplify 控制台或 `customHeaders.yaml` 文件中为应用程序添加自定义标头。您可以覆盖的标头之一是 `Cache-Control`。有关更多信息，请参阅 [为 Amplify 应用程序设置自定义 HTTP 标头](custom-headers.md)。 | 是 | 是 | 
|  Amplify 以您在 `customHeaders.yaml` 文件中定义的 `Cache-Control` 标头为准，它们优先于 Amplify 的默认缓存设置。  | 支持 | 是 | 
|  Amplify 以应用程序框架中为动态路由（例如 Next.js SSR 路由）设置的 `Cache-Control` 标头为准。如果在应用程序的 `customHeaders.yaml` 文件中设置了 `Cache-Control` 标头，则该标头优先于 `next.config.js` 文件中的设置。  |  支持  |  是  | 
| 每次部署新的 CI/CD 应用程序都会清除缓存。 |  支持  |  是  | 
|  您可以为应用程序启用性能模式。  | 是 | 否性能模式设置在 Amplify 控制台中已不再可用。但您可以创建用于设置 `s-maxage` 指令的 `Cache-Control` 标头。有关说明，请参阅[使用 Cache-Control 标头提高应用程序性能](Using-headers-to-control-cache-duration.md)。 | 

下表列出了特定缓存设置的默认值更改。


| 缓存设置 | 先前的默认值 | 缓存改进后的默认值 | 
| --- | --- | --- | 
|  静态资产的缓存持续时间  |  2 秒  |  一年  | 
|  反向代理响应的缓存持续时间  |  2 秒  |  零秒（不缓存）  | 
|  最大生存时间（TTL）  |  十分钟  |  一年  | 

有关 Amplify 如何确定为某个应用程序应用的缓存配置的更多信息，以及有关管理缓存键配置的说明，请参阅以下主题。

**Topics**
+ [Amplify 如何将缓存配置应用于应用程序](cache-configuration-type.md)
+ [管理缓存键 Cookie](cache-key-cookies.md)
+ [使用 Cache-Control 标头提高应用程序性能](Using-headers-to-control-cache-duration.md)