Caching - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Caching

Amazon AppSync服务器端数据缓存功能通过在高速内存缓存中提供数据来减少直接访问数据源的需求,从而提高性能并降低延迟。缓存可用于单元和管道解析器。

为了利用您的服务器端缓存Amazon AppSyncAPI,请参阅本节以定义所需行为。

Amazon AppSync同样在 AppSync 服务账户中托管 Amazon ElastiCache Redis 实例,Amazon区域作为 AppSync API。

提供了以下实例类型:

small

1 个 vCPU、1.5 GiB 内存、低到中等网络性能

medium

2 个 vCPU、3 GiB 内存、低到中等网络性能

large

2 个 vCPU、12.3 GiB 内存,高达 10 千兆网络性能

xlarge

4 个 vCPU、25.05 GiB 内存、高达 10 千兆网络性能

2xlarge

8 个 vCPU、50.47 GiB 内存、高达 10 千兆网络性能

4xlarge

16 个 vCPU、101.38 GiB 内存、高达 10 千兆网络性能

8xlarge

32 个 vCPU、203.26 GiB 内存、10 千兆网络性能;并非在所有区域提供。

12xlarge

48 个 vCPU、317.77 GiB 内存、10 千兆网络性能

注意

历史上,特定的实例类型(例如t2.medium) 已指定。截至 2020 年 7 月,这些旧实例类型将继续可用,但它们的使用已被弃用并不鼓励使用。我们建议您使用此处描述的通用实例类型。

以下是与缓存相关的行为:

没有服务器端缓存。

完整请求缓存

如果数据不在缓存中,则将从数据源中检索数据并填充缓存,直到 TTL 过期。对 API 的所有后续请求都将从缓存返回,这意味着除非 TTL 过期,否则不会直接联系数据源。作为此设置中的缓存键,我们使用 $context.arguments$context.identity 映射的内容。

每个解析程序的缓存

使用此设置时,需要明确选择每个解析程序来缓存响应。TTL 和缓存密钥可以在解析程序上指定。可以指定的缓存键是$context.arguments$context.source$context.identity映射。TTL 值是必需的,但缓存键是可选的。如果未指定缓存键,则默认值为$context.arguments$context.source$context.identity类似于上述情况的映射。例如,您可以使用$text .arguments.id或者$ 上下文。参数。输入类型 .ID$text .source.id$text .entity .sub或者$ 上下文。身份。索赔。用户名. 当没有指定缓存键而只指定 TTL 时,解析程序的行为与上述行为类似。

缓存生存期

这定义了缓存条目将在内存中存储的时长。最大 TTL 为 3600 秒(1 小时),之后条目将被自动删除。

缓存加密有两种风格,如下所述。这些设置类似于 Amazon ElastiCache for Redis 所允许的设置。只有在首次为 AppSync API 启用缓存时,才能启用加密设置。

  • 传输中加密:AppSync、缓存和数据源(不安全的 HTTP 数据源除外)之间的请求将在网络级别加密。由于在终端节点加密和解密数据时需要进行一些处理,因此启用传输中加密会对性能产生一些影响。

  • 静态加密:交换操作期间从内存保存到磁盘的数据将在缓存实例中加密。此设置还会对性能产生影响。

为了使缓存条目失效,可以使用刷新缓存 API 调用。这可以通过控制台或 CLI 调用。

有关更多信息,请参阅 。ApiCache中的数据类型AmazonAppSync API 参考。