对频繁访问的内容使用缓存
许多在 Amazon S3 中存储数据的应用程序会提供用户反复请求的数据的一个“工作集”。如果工作负载针对一组常用对象发送重复的 GET 请求,则可以使用 Amazon CloudFront、Amazon ElastiCache 或 AWS Elemental MediaStore 等缓存来优化性能。成功地采用缓存可以实现低延迟和较高的数据传输速率。使用缓存的应用程序还会向 Amazon S3 发送少量的直接请求,这可帮助降低请求成本。
Amazon CloudFront 是一个快速内容交付网络 (CDN),它透明地在一大组地理位置分散的节点 (PoP) 中缓存 Amazon S3 中的数据。当可能从多个区域或通过 Internet 访问对象时,CloudFront 允许在访问对象的用户附近缓存数据。这样就可以实现常见 Amazon S3 内容的高性能交付。有关 CloudFront 的更多信息,请参阅 Amazon CloudFront 开发人员指南。
Amazon ElastiCache 是一个托管的内存中缓存。通过 ElastiCache,您可以预配置在内存中缓存对象的 Amazon EC2 实例。这种缓存会令 GET 延迟下降若干个数量级,并显著增加下载吞吐量。要使用 ElastiCache,请修改应用程序逻辑,以便用热门对象填充缓存和检查缓存中的热门对象,然后从 Amazon S3 中请求它们。有关使用 ElastiCache 提高 Amazon S3 GET 性能的示例,请参阅博客文章使用 Amazon ElastiCache for Redis 增强 Amazon S3
AWS Elemental MediaStore 是一个专为 Amazon S3 中的视频工作流和媒体交付构建的缓存和内容分发系统。MediaStore 提供专用于视频的端到端存储 API,推荐用于性能敏感型视频工作负载。有关 MediaStore 的信息,请参阅 AWS Elemental MediaStore 用户指南。