具有 API 管理的 Azure Redis 缓存

Azure Redis Cache with API Management

我已经设置了 Azure Redis 缓存以与 APIM 一起使用。

我知道缓存 'Post' 方法没有意义,但我可以将策略放在 APIM 的根级别吗?单个方法级别的策略?

此外 - 它会通过尝试缓存 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 方法,策略跟踪会给出如下消息:

"cache-lookup(0.081 毫秒) “请求具有 non-cacheable HTTP 方法。未应用缓存查找策略。”