Kong的插件: Proxy Caching(入门篇)

简述

这是一个缓存的插件,简单说就是第一次把一些内容(图片,内容)缓存到kong,后续的请求只需在Kong取数据,不用再向后端请求数据。
在这里插入图片描述

操作起来
环境准备

你应该有一个可以正常使用service和route。如果没有,可以参考https://blog.csdn.net/u014686399/article/details/100084613。我的试验也是参考这个。

启用插件
/routes/1972af43-5cb0-4c84-b15e-b96a2da52893/plugins POST
{
	"name":"proxy-cache",
	"config":{
		"strategy": "memory",
		"content_type": ["text/html; charset=UTF-8", "image/jpeg"]
	}
}
  • 1972af43-5cb0-4c84-b15e-b96a2da52893 这是route的ID
  • proxy-cache 这是插件的名字
  • memory这是缓存存储的地方。如果你的缓存很大,可以使用redis (官网)[https://docs.konghq.com/hub/kong-inc/proxy-cache/]
  • content_type, 这是指定缓存什么类型的资源。默认是text/plain, application/json,由于试验的原因我需要放开上面的这两个类型
测试一下

在这里插入图片描述

  • x-cache-status的状态说明你的资源是不是走缓存了。只有Hit状态的时候才说明是走缓存了
  • 注意要禁用浏览器的缓存,否则会走浏览的缓存机制,你会看到x-cache-status的状态是ByPass
  • 可以看一下后端服务的日志,只有第一次的时候才会接收到请求,后面都不会接收到请求了
Cache Status
  • Miss, 这个是没有走缓存的。是说明我们的请求应该可以走缓存的(Method,content_type,vary_headers , vary_query_params 满足了插件配置),但是这个资源在缓存中不存在。一般第一次请求的时候会有这种情况
  • Hit, 这个不多说,就是命中了
  • Refresh,这个是说,我们的请求满足了要求,但是缓存中资源到期了(config.cache_ttl默认是300s),需要再次请求一下后端
  • Bypass,这个也不多说,就是我们的请求不满足插件的配置,不会走Kong的缓存机制
Storage TTL

kong有一个config.storage_ttl参数,这个是控制缓存中的资源什么时候没用的。如果时间超过了cache_ttl但是没有超过storage_ttl,后面的 请求不走缓存了,但是缓存中的资源还是存在。 这样做的意义就是我们可以创造我们自己的缓存机制,而不被kong的缓存机制影响。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值