问题描述
我已经设置了Azure Redis缓存以与APIM一起使用。
我知道缓存“ Post”方法没有意义,但是我可以将策略放在APIM的根级别吗?它足够聪明来缓存相关的get方法,而无需我将策略应用于单个对象方法级别?
还-通过尝试缓存Post请求是否会产生任何奇怪的行为?
我的政策是
<policies>
<inbound>
<base />
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" caching-type="external" />
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
<cache-store duration="3600" />
</outbound>
<on-error>
<base />
</on-error>
</policies>
解决方法
Azure API管理似乎足够聪明,仅缓存相关的HTTP方法。如果将缓存策略置于根级别,并尝试测试POST方法,则策略跟踪将显示如下消息:
“缓存查找(0.081毫秒) “请求具有不可缓存的HTTP方法。未应用缓存查找策略。”