适用于:所有 API 管理层级
使用 cache-lookup-value
策略,可以通过密钥执行缓存查找,并返回缓存的值。 密钥的值可以是任意字符串,通常使用策略表达式来提供密钥。
注意
此策略必须已设置相应的在缓存中存储值策略。
重要
内置缓存是易失性的,由同一 API 管理服务中同一区域的所有单元共享。
注意
按照策略声明中提供的顺序设置策略的元素和子元素。 详细了解如何设置或编辑 API 管理策略。
策略语句
<cache-lookup-value key="cache key value"
default-value="value to use if cache lookup resulted in a miss"
variable-name="name of a variable looked up value is assigned to"
caching-type="prefer-external | external | internal" />
属性
属性 | 说明 | 需要 | 默认 |
---|---|---|---|
caching-type | 在以下属性值之间进行选择: - internal ,表示可使用内置的 API 管理缓存;- external 使用外部缓存,如- 中所述;- prefer-external 如果外部缓存已配置,则使用外部缓存,否则使用内部缓存。不允许使用策略表达式。 |
否 | prefer-external |
default-value | 在缓存密钥查找未命中的情况下,会分配给变量的值。 如果未指定此属性,则会分 null 。 允许使用策略表达式。 |
否 | null |
关键值 | 要在查找中使用的缓存密钥值。 允许使用策略表达式。 | 是 | 不适用 |
variable-name | 在查找成功的情况下,会向其分配查找值的上下文变量的名称。 如果查找未命中,则不会设置该变量。 不允许使用策略表达式。 | 是 | 不适用 |
使用情况
使用注意事项
- API 管理仅缓存对 HTTP GET 请求的响应。
- 此策略只能在策略部分中使用一次。
- 策略片段中不支持此策略。
- 建议在任何缓存查找后立即配置 速率限制 策略(或 按键速率限制 策略)。 这有助于防止后端服务在缓存不可用时过载。
示例
此示例演示如何使用 cache-lookup-value
策略从缓存中检索用户配置文件。 缓存查找的键是使用策略表达式构造的,该表达式将字符串与上下文变量的值组合在 enduserid
一起。
注意
缓存查找后添加的 速率限制 策略有助于限制在缓存不可用时阻止后端服务重载的调用数。
请参阅 缓存存储值 示例,将用户配置文件存储在缓存中。
<cache-lookup-value
key="@("userprofile-" + context.Variables["enduserid"])"
variable-name="userprofile" />
<rate-limit calls="10" renewal-period="60" />
有关此策略的详细信息和示例,请参阅 Azure API 管理中的自定义缓存。
相关策略
后续步骤
有关使用策略的详细信息,请参阅:
- 教程:转换和保护 API
- 策略参考,其中提供了策略语句及其设置的完整列表
- 策略表达式
- 设置或编辑策略
- 策略示例