你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure API 管理中使用外部 Redis 兼容缓存

适用于:所有 API 管理层级

除了利用内置缓存外,Azure API 管理还允许将响应缓存在外部 Redis 兼容缓存中,例如 Azure Cache for Redis 或 Azure 托管的 Redis。

使用外部缓存可以避免内置缓存的一些限制:

  • 避免在执行 API 管理更新期间定期清除缓存
  • 更好地控制你的缓存配置
  • 缓存比 API 管理层允许的数据更多的数据
  • 将缓存与 API 管理的消耗层配合使用
  • API 管理自承载网关中启用缓存

若要更详细地了解缓存,请参阅 API 管理缓存策略Azure API 管理中的自定义缓存

注意

目前无法在工作区中使用此功能。

学习内容:

  • 在 API 管理中添加外部缓存

先决条件

要完成本教程,需要:

用于 Kubernetes 的 Redis 缓存

对于 API 管理自承载网关,进行缓存时需要外部缓存。 为了使缓存操作生效,自承载网关及其所依赖的缓存必须彼此接近,以最大程度地降低查找和存储延迟。 将 Redis 缓存部署到同一个 Kubernetes 群集或附近的单独群集是最佳做法。 了解如何将 Redis 缓存部署到 Kubernetes 群集

添加外部缓存

按照以下步骤在 Azure API 管理中使用外部的与 Redis 兼容的缓存。 可以将缓存限制到 API 管理实例中的特定网关。

该屏幕截图显示以下步骤在 Azure API 管理中添加用于 Redis 的外部 Azure 缓存。

“使用位置”设置

配置中的“使用位置”设置指定将使用缓存的 API 管理实例的位置。 选择以下方案之一:

  • 托管 API 管理实例的 Azure 区域(或配置的位置之一,前提是你有一个多区域部署)

  • 一个自承载网关位置

  • 默认:将缓存配置为 API 管理实例中的所有网关位置的默认值

    用于“默认”的缓存将由用于特定匹配区域或位置的缓存重写。

    例如,请考虑在“美国东部”、“东南亚”和“西欧”区域托管的 API 管理实例。 配置了两个缓存,一个用于“默认”,一个用于“东南亚”。 在此示例中,“东南亚”中的 API 管理将使用其自己的缓存,而其他两个区域将使用“默认”缓存条目。

注意

可以为多个 API 管理实例配置同一外部缓存。 API 管理实例可位于相同区域,也可位于不同区域。 在共享多个实例的缓存时,必须在“使用位置”设置中选择“默认”。

从同一订阅添加 Azure Cache for Redis 或 Azure 托管的 Redis 实例

  1. 在 Azure 门户中浏览到你的 API 管理实例。
  2. 在左侧菜单中的“部署 + 基础结构”下,选择“外部缓存”。
  3. 选择“+ 添加”。
  4. 从“缓存实例”下拉字段中选择你的缓存。
  5. 在“使用位置”下拉字段中选择“默认”或指定所需的区域。 系统会自动填充“连接字符串”。
  6. 选择“保存”。

添加托管在当前 Azure 订阅外部或 Azure 外部(后者为一般情况)的与 Redis 兼容的缓存

  1. 在 Azure 门户中浏览到你的 API 管理实例。
  2. 在左侧菜单中的“部署 + 基础结构”下,选择“外部缓存”。
  3. 选择“+ 添加”。
  4. 从“缓存实例”下拉字段中选择“自定义”。
  5. 在“使用位置”下拉字段中选择“默认”或指定所需的区域。
  6. 在“连接字符串”字段中输入 Azure Cache for Redis、Azure 托管的 Redis 或与 Redis 兼容的缓存连接字符串。
  7. 选择“保存”。

将 Redis 缓存添加到自承载网关

  1. 在左侧菜单中的“部署 + 基础结构”下,选择“外部缓存”。
  2. 选择“+ 添加”。
  3. 从“缓存实例”下拉字段中选择“自定义”。
  4. 在“使用位置”下拉字段中选择“默认”或指定所需的区域。
  5. 在“连接字符串”字段中输入 Redis 缓存连接字符串。
  6. 选择“保存”。

使用外部缓存

添加与 Redis 兼容的缓存后,请在外部缓存中配置缓存策略以启用响应缓存,或配置按键缓存值功能。

有关详细示例,请参阅添加缓存以提高 Azure API 管理中的性能