静态配置
默认情况下,磁盘缓存时的 cache_ttl 和缓存 zones 等值在默认配置中进行了预配置。
要自定义这些值,请将相应的配置添 加到 config.yaml。例如:
apisix:
proxy_cache:
cache_ttl: 10s # 磁盘缓存时使用的默认缓存 TTL,仅当 `Expires` 和
# `Cache-Control` 响应头都不存在,或者如果 APISIX 由于上游不可用而返回
# `502 Bad Gateway` 或 `504 Gateway Timeout` 时使用
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
重新加载 APISIX 以使更改生效。
参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
cache_strategy
string
default:
diskvaild vaule:
diskormemory缓存策略。缓存在磁盘或内存中。
cache_zone
string
default:
disk_cache_one与缓存策略一起使用的缓存区域。该值应与配置文件中定义的缓存区域之一匹配,并应对应于缓存策略。例如,当使用内存缓存策略时,你应该使用内存缓存区域。
cache_key
cache_bypass
cache_method
array[string]
default:
["GET", "HEAD"]vaild vaule:
"GET"、"POST" 和 "HEAD" 方法的任意组合。
响应应被缓存的请求方法。
cache_http_status
array[integer]
default:
[200, 301, 404]vaild vaule:
200 至 599(含边界值)之间整数值的任意组合
响应应被缓存的响应 HTTP 状态码。
hide_cache_headers
boolean
default:
false如果为 true,则隐藏
Expires和Cache-Control响应头。cache_control
boolean
default:
false如果为 true,则遵守 HTTP 规范中的
Cache-Control行为。仅对内存策略有效。no_cache
cache_ttl
integer
default:
300vaild vaule:
大于或等于 1
在内存中缓存时的缓存生存时间 (TTL)(以秒为单位)。
要在磁盘缓存时调整 TTL,请更新配置文件中的
cache_ttl。TTL 值是结合从上游服务接收的响应头Cache-Control和Expires中的值进行评估的。