跳到主要内容

静态配置

网关默认配置包含磁盘缓存和缓存区域的代理缓存设置。需要更新的文件取决于网关的部署方式:

对于主机或 Docker 部署,请配置以下设置:

config.yaml
apisix:
proxy_cache:
cache_ttl: 10s # 用于磁盘缓存
zones:
- name: disk_cache_one
memory_size: 50m
disk_size: 1G
disk_path: /tmp/disk_cache_one
cache_levels: 1:2
# - name: disk_cache_two
# memory_size: 50m
# disk_size: 1G
# disk_path: "/tmp/disk_cache_two"
# cache_levels: "1:2"
- name: memory_cache
memory_size: 50m

然后重新加载网关,使更改生效。

参数

有关所有插件均可使用的配置项,请参阅插件通用配置

  • cache_strategy

    string


    默认值:disk


    有效值:

    diskmemory


    缓存策略。缓存到磁盘或内存中。

  • cache_zone

    string


    默认值:disk_cache_one


    与缓存策略一起使用的缓存区域。该值应与配置文件中定义的缓存区域之一匹配,并应对应于缓存策略。例如,当使用内存缓存策略时,应使用内存缓存区域。

  • cache_ttl

    integer


    默认值:300


    有效值:

    大于或等于 1


    使用内存缓存时的缓存生存时间(TTL),单位为秒。

    要调整磁盘缓存的 TTL,请更新配置文件中的 cache_ttl。请注意,仅当响应头中同时缺少 Cache-ControlExpires 时,才会使用该 TTL 值。

  • consumer_isolation

    boolean


    默认值:true


    如果为 true,当请求解析为 APISIX Consumer 或远程用户时,将已认证的 Consumer 身份添加到实际缓存键前。任意上游凭据(例如转发的 Bearer Token)不会被用作身份。如果路由在未使用 APISIX 身份认证插件的情况下转发用户专属凭据,不同用户可能会收到相同的缓存响应。请为该路由启用 APISIX 身份认证插件或禁用缓存。自 API7 企业版 3.9.13 和 APISIX 3.17.0 起可用。

  • cache_set_cookie

    boolean


    默认值:false


    如果为 true,则允许内存缓存策略缓存包含 Set-Cookie 响应头的响应。默认情况下,此类响应不会被缓存。自 API7 企业版 3.9.13 和 APISIX 3.17.0 起可用。