如何解决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 举报,一经查实,本站将立刻删除。