

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

# 针对 CDN 和 MediaTailor 集成的缓存优化
<a name="cdn-optimize-caching"></a>

AWS Elemental MediaTailor 缓存要求因工作流程类型和内容格式而异。正确的缓存配置对于实现最佳性能、成本效益和观看者体验至关重要。以下各节为不同的 MediaTailor实现提供了详细的缓存指导。

## 服务器端广告插入 (SSAI) 缓存
<a name="ssai-caching-optimization"></a>

对于服务器端广告插入工作流程，无法缓存个性化清单，但应积极缓存内容和广告细分：


**SSAI CDN 缓存设置**  

| 内容类型 | TTL | 路径模式 | 缓存关键元素 | 
| --- | --- | --- | --- | 
| 多变体播放列表 | 0 秒 | /v1/master/ \$1 | 网址路径 \$1 所有查询参数 | 
| 媒体播放列表 | 0 秒 | /v1/manifest/ \$1 | 网址路径 \$1 所有查询参数 | 
| DASH MPDs | 0 秒 | /v1/dash/ \$1 | 网址路径 \$1 所有查询参数 | 
| 内容细分 | 24 小时以上 | 特定于内容的路径 | 仅限网址路径 | 
| 广告细分 | 24 小时以上 | /v1/segment/ \$1 | 仅限网址路径 | 
+ 将个性化清单的 TTL 设置为 0 秒，以确保观众收到广告内容 up-to-date
+ 为内容和广告区段配置更长的 TTL 值，以最大限度地提高缓存效率
+ 如果您支持定向广告，请设置缓存行为，在缓存密钥中包含个性化参数
+ 在 CDN 级别实现请求折叠以高效处理并发请求

### 推荐的 TTL 配置设置
<a name="ssai-ttl-configuration"></a>

为了获得最佳 SSAI 性能，请使用以下特定的 TTL 设置配置 CDN 缓存策略：


**SSAI TTL 配置设置**  

| 内容类型 | TTL 设置 | 推荐值 | 
| --- | --- | --- | 
| 广告细分 | 最小 TTL | 1 秒 | 
| 广告细分 | 最大 TTL | 86400 秒（24 小时） | 
| 广告细分 | 默认 TTL | 86400 秒（24 小时） | 
| 内容细分 | 最小 TTL | 1 秒 | 
| 内容细分 | 最大 TTL | 86400 秒（24 小时） | 
| 内容细分 | 默认 TTL | 86400 秒（24 小时） | 

这些设置可确保：
+ **最小 TTL 为 1 秒**：允许在需要时快速使缓存失效，同时防止过多的源请求
+ **最大 TTL 为 24 小时**：在缓存效率和内容新鲜度要求之间取得平衡
+ **默认 TTL 为 24 小时**：为没有明确缓存控制标头的区段提供最佳缓存

## 服务器引导式广告插入 (SGAI) 缓存
<a name="sgai-caching-optimization"></a>

服务器引导式广告插入 (SGAI) 通过使用可预测网址模式的可缓存媒体清单，实现高效的 CDN 缓存。本节重点介绍 CDN 特定的配置要求，以实现最佳 SGAI 性能。

### SGAI 的 CDN 缓存配置
<a name="sgai-caching-configuration"></a>

使用以下特定于 SGAI 的缓存行为来配置 CDN：


**SGAI CDN 缓存设置**  

| 内容类型 | TTL | 路径模式 | 缓存关键元素 | 
| --- | --- | --- | --- | 
| SGAI 多变体播放列表（请勿缓存） | 0 秒（不缓存） | /v1/master/ \$1 | URL 路径 \$1 选定的查询参数 | 
| SGAI 媒体播放列表 | 1-4 秒（半段长度） | /v1/i-media/ \$1 | URL 路径 \$1 选定的查询参数 | 
| 资产列表响应（请勿缓存） | 0 秒（不缓存） | /v1/插页式广告/ \$1 | 网址路径 \$1 所有查询参数 | 
| 广告细分 | 24 小时以上 | 广告专用路径 | 仅限网址路径 | 

### 缓存行为配置
<a name="sgai-cache-behavior-setup"></a>

为 SGAI 内容设置专用缓存行为：
+ **SGAI 清单行为**-为 TTL 为 1-4 秒的`/v1/i-media/*`路径创建缓存行为
+ **资产列表行为**-为 TTL 为 0 秒 TTL 的`/v1/interstitials/*`路径创建缓存行为
+ **查询参数处理**-在缓存密钥中仅包含基本的定位参数，以最大限度地提高缓存效率
+ **Origin 请求标头**-转发广告定位所需的标头，同时保持可缓存性

## 频道集合缓存
<a name="channel-assembly-caching-optimization"></a>

对于频道汇编工作流程，清单可以短时间缓存，而片段则应积极缓存：


**频道集合 CDN 缓存设置**  

| 内容类型 | VOD TTL | 直播 TTL | 路径模式 | 缓存关键元素 | 
| --- | --- | --- | --- | --- | 
| 多变体播放列表 | 5-30 分钟 | 5-10 秒 | 频道特定路径 | 网址路径 \$1 所有查询参数 | 
| 媒体播放列表 | 5-30 分钟 | 2-5 秒 | 频道特定路径 | 网址路径 \$1 所有查询参数 | 
| 短跑 MPDs | 5-30 分钟 | 5-10 秒 | 频道特定路径 | 网址路径 \$1 所有查询参数 | 
| 内容细分 | 24 小时以上 | 5-15 分钟 | 特定于内容的路径 | 仅限网址路径 | 
| 广告细分 | 24 小时以上 | 24 小时以上 | 广告专用路径 | 仅限网址路径 | 
+ 为清单设置短 TTL 值，以确保观众能收到节目 up-to-date
+ 为内容分段配置更长的 TTL 值以最大限度地提高缓存效率
+ 如果您支持时移查看，请设置在缓存键中包含时移参数的缓存行为
+ 在缓存密钥中加入查询参数以正确处理时移查看请求

有关详细的 TTL 配置设置和最佳实践，请参阅[针对 CDN 和 MediaTailor 集成的缓存优化](#cdn-optimize-caching)。

## SSAI 和频道集合缓存的组合
<a name="combined-workflow-caching"></a>

在实现信道组合和 SSAI 时，请确保这两个服务的缓存策略保持一致，以避免冲突并优化性能：


**组合工作流缓存设置比较**  

| 内容类型 | 频道组装 | SSAI | 综合推荐 | 
| --- | --- | --- | --- | 
| VOD 清单 | 5-30 分钟 | 0 秒 | （使用单独的配置） | 
| 现场清单 | 2-10 秒 | 0 秒 | （使用单独的配置） | 
| SGAI VOD 清单 | 5-30 分钟 | 5-30 分钟 | 5-30 分钟（可缓存清单） | 
| SGAI Live 清单 | 2-4 秒 | 2-4 秒 | 2-4 秒（可缓存清单） | 
| 内容细分 | 24 小时以上 | 24 小时以上 | 24 小时以上（一致） | 
| 广告细分 | 24 小时以上 | 24 小时以上 | 24 小时以上（一致） | 

此配置可最大限度地提高缓存效率，同时确保观众收到个性化广告插入的 up-to-date清单。