You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Azure API Management缓存,确保从数据库获取数据

解决Azure API Management开发者版未配置缓存但仍返回缓存数据的问题
  • 检查API全局缓存设置
    进入你的APIM实例,找到目标API,点开「设置」标签,查看「缓存」区域——开发者版默认不会开全局缓存,但还是要确认下,如果开启了直接关掉就行。

  • 排查GET操作的缓存策略
    找到那个GET方法,进入「设计」标签,切换到「缓存」选项卡,看看有没有遗留的<cache-lookup>或<cache-store>策略代码,有的话直接删掉。

  • 处理后端响应头导致的缓存
    有时候后端服务返回的Cache-Control头会让APIM自动缓存数据,你可以在APIM的入站策略里加一段强制禁用缓存的规则:

    <set-header name="Cache-Control" exists-action="override">
        <value>no-cache, no-store, must-revalidate</value>
    </set-header>
    <set-header name="Pragma" exists-action="override">
        <value>no-cache</value>
    </set-header>
    <set-header name="Expires" exists-action="override">
        <value>0</value>
    </set-header>
    
  • 清除现有缓存数据
    就算关了缓存,已经存的旧数据可能还会返回,手动清一下:

    • 进APIM实例的「缓存」菜单,选对应的缓存点「清除」
    • 或者用Azure CLI跑命令:
      az apim cache clear --resource-group <你的资源组名> --service-name <你的APIM实例名> --cache-id default
      
  • 验证效果
    修改数据库里的测试数据,再调用GET接口,确认返回的是最新数据;同时看响应头,确保Cache-Control这类头已经是禁用缓存的参数。

内容的提问来源于stack exchange,提问作者Mahendra A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:27:09