

response code:200 // 允许缓存的后端响应码列表。建议输入正常响应码(例如 200),避免异常响应内容被缓存。request method:GET // 允许缓存的请求方法。content type:application/json; charset=utf-8 // 允许缓存的后端响应 Content-Type,注意该值必须和响应头完全匹配,例如 "application/json" 和 "application/json; charset=utf-8" 是不匹配的。cache ttl:60 // 缓存时长,单位秒。

vary query params: name, department // 用于缓存 key 的 query 参数名称列表,默认为空。vary headers: x-cache-header // 用于缓存 key 的 header 参数名称列表,默认为空。

GET /cache/it,缓存不存在,会请求到后端,响应头 X-Cache-Status 为 MissHTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 335X-Cache-Key: 6fb1b6a4440980c758b0eff31177a41dX-Cache-Status: MissDate: Tue, 26 Apr 2022 16:04:19 GMTX-Kong-Upstream-Latency: 948X-Kong-Proxy-Latency: 321Via: kong/2.4.1
GET /cache/it,会命中缓存,响应头 X-Cache-Status 为 HitHTTP/1.1 200 OKServer: openrestyContent-Type: application/json; charset=utf-8X-Cache-Key: 6fb1b6a4440980c758b0eff31177a41dAge: 2X-Cache-Status: HitDate: Tue, 26 Apr 2022 16:09:23 GMTVary: Accept-EncodingContent-Length: 335X-Kong-Upstream-Latency: 0X-Kong-Proxy-Latency: 0Via: kong/2.4.1
vary query params 配置了 name 参数:GET /cache/it?name=john,缓存不存在,会请求到后端,响应头 X-Cache-Status 为 Miss。GET /cache/it?name=john,会命中缓存,响应头 X-Cache-Status 为 Hit。GET /cache/it?name=tom,由于 name 参数不同,响应头 X-Cache-Status 为 Miss。GET /proxy-cache/:cache_key 查询特定 Cache Key 的缓存内容:X-Cache-Key 获取。404。200,响应 Body 如下:{"ttl": 60,"req_body": "","headers": {"Date": "Wed, 27 Apr 2022 03:09:39 GMT","X-Cache-Status": "Miss","ETag": "W/\\"14f-3sRRcm7jenKggj3qhgagNHIwiqw\\"","Vary": "Accept-Encoding","connection": "keep-alive","set-cookie": "sails.sid=s%3AT_YQH4rJgm2TYpJ5o6Ql1nH-vlA6pR19.JR3bgC6WfzWO1OqDPwzaNn%2FXX6PcGdg2vTaT6d1BbfQ; Path=/; HttpOnly","content-length": "335","content-type": "application/json; charset=utf-8","X-Cache-Key": "6fb1b6a4440980c758b0eff31177a41d"},"body": "<cached response body>","status": 200,"timestamp": 1651028979,"version": 1,"body_len": 335}
Cache-Control 请求头对缓存行为进行动态控制,则需要在插件中启用 cache-control 配置项。X-Cache-Status 响应头说明:Miss:请求匹配缓存策略,但未命中缓存。Hit:请求命中缓存。Bypass:请求和缓存插件配置规则不匹配。Refresh:缓存未过期,但由于请求头中 Cache-Control 原因请求绕过了缓存。文档反馈