微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure API 管理 - 确定响应是否来自缓存

如何解决Azure API 管理 - 确定响应是否来自缓存

我们在 <cache-lookup> 块中使用 <inbound> 策略(使用外部 Redis)。是否可以执行策略 - 具体而言,我想在缓存查找命中并且响应从缓存提供时编写 <trace>

今天我们有这个:

<inbound>
  <cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" caching-type="external">
     <vary-by-query-parameter>xyz</vary-by-query-parameter>
  </cache-lookup>

这样的事情可能吗? (伪代码

  <choose>
    <when condition="cache-lookup == true">
       <trace>
         <message>This request is served from Redis cache!</message>
       </trace>
    </when>
  </choose>
</inbound>

解决方法

根据一些研究,我们似乎没有一个变量或状态来判断请求是从 Redis 缓存还是后端服务器提供的。 <cache-lookup> 策略包装了与 Redis 连接的函数,我认为我们无法知道请求是从哪里提供的。正如你提到的代码是伪代码,我不认为代码 <when condition="cache-lookup == true"> 可以工作。

对于这个需求,我想你可以在 feedback 页面上向 azure 开发团队询问这个功能。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。