注意:此产品的某些方面处于 Beta 版阶段。Hybrid 安装选项是 GA。要加入 Beta 版计划,请与您的 Apigee 代表联系。

缓存和持久保留

Apigee 持久保留功能包括缓存,键/值映射和属性集。如果您使用的是 Apigee Hybrid,则可以使用 Kubernetes Secret 来保留敏感数据。

功能 用途
缓存 使用通用缓存政策,您可以保留代理在多个请求/响应会话中所需的任何对象。您还可以使用 ResponseCache 政策缓存后端资源的响应。当后端数据仅定期更新时,响应缓存特别有用。ResponseCache 政策可减少对后端数据源的调用。
键/值映射 键/值映射(KVM)为可能会定期更改的数据提供常规运行时存储。例如:用户会话数据、购物车等。KVM 条目可以加密。
属性集 属性集非常适合存储不经常更改的配置数据。
Kubernetes Secret (仅限 API Hybrid)使用 Secret 存储敏感数据,例如用户凭据。

缓存

使用通用缓存政策,您可以保留代理在多个请求/响应会话中所需的任何对象。您还可以缓存后端响应数据。

您可能希望使用缓存来执行以下操作:

  • 减少延迟和流量。请求可以在更短的时间内得到满足,并有重复使用表示法。
  • 跨事务保留数据。您可以存储会话数据,以便在 HTTP 事务中重复使用。
  • 支持安全性。限制对缓存条目的访问权限,以便只能在特定环境中访问或由特定 API 代理访问。

后端响应缓存

您可以使用响应缓存政策缓存后端资源的响应。

当后端数据仅定期更新时,这特别有用。ResponseCache 政策可减少对后端数据源的调用。

通过 ResponseCache 政策,您还可以让 Apigee 查看某些 HTTP 响应缓存标头,并根据标头指令执行操作。例如,对于来自后端目标的响应,Apigee 支持 Cache-Control 标头。此标头可用于控制缓存响应的最长存在时间等等。如需了解详情,请参阅对 HTTP 响应标头的支持

短期通用缓存

使用通用缓存政策,您可以保留代理在多个请求/响应会话中所需的任何对象。

借助填充缓存政策LookupCache 政策InvalidateCache 政策,您可以填充、检索和在运行时刷新缓存数据。

例如,您可以临时存储:

  • 会话管理的会话 ID。
  • 出站调用的凭据(例如 API 密钥或 OAuth 访问令牌)。
  • 必须对应用进行分页的响应内容。

在运行时,您的缓存政策会在代理变量与您指定的已配置缓存之间复制值。将值放入缓存后,系统会将其从您指定的变量复制到缓存中。当从缓存中检索它时,会将其复制到变量中以供您的代理使用。

如需查看包含代码的示例,请参阅示例:通用缓存

使用 Management API 管理缓存

您可以使用缓存 Apigee API 列出和删除缓存。

键值映射 (KVM) 的长期持久保留

如需无限期地存储加密或未加密的结构化数据,您可以创建和填充包含任意键/值对的键值对映射 (KVM)。例如,您可以存储:

  • 将 IP 地址与国家/地区代码相关联的映射。
  • 允许/拒绝访问的 IP 地址列表。
  • 将长网址与短网址相关联的映射。
  • 特定于环境的数据,例如配额计数和 OAuth 令牌到期时间。

KVM 可以具有以下三种范围之一:组织、环境、apiproxy。例如,如果键/值对将用于组织中的所有 API,则在组织范围内创建 KVM;如果只有特定的 API 代理有权访问键/值,请在 apiproxy 范围内创建 KVM。如需了解详情,请参阅使用键值映射

属性集

属性集是存储数据的键/值对的自定义集合。API 代理可以在执行时检索此数据。

通常,您使用属性集来存储不应硬编码到 API 代理逻辑中的不到期的数据,例如配置数据。您可以访问代理中的任何位置的属性集数据,在该代理中可以访问流变量

属性集的一个常见用例是提供与一个环境或其他环境相关联的值。您可以使用特定于测试环境中运行的代理的配置值创建环境范围的属性集,并为生产环境创建另一个设置。

如需了解详情,请参阅使用属性集

Kubernetes Secret

(仅限 Apigee Hybrid)如果您已经在自定义保险柜中为敏感数据使用 Kubernetes 进行 Secret 管理,则可能需要考虑使用Kubernetes Secret。与 KVM 数据一样,您可以访问 API 代理流变量中的 Kubernetes Secret 数据。如需了解详情,请参阅在 Kubernet Secret 中存储数据