apache traffic server 简称ats 入坑(二)缓存失效时间

贵贵的博客 ( http://blog.linuxphp.org/ ) :

这个一定要单列一个文章讲解,因为实在是太坑了。

打开cache.config会看到常常的一段英文说明,开始时候没有仔细阅读,只是简单看了支持的参数,这为被坑做了很好的铺垫。阅读官网文档和其它中文文档时也没有人提及此配置格式要求,造成一直理解错误,配置错误。

1.为了说明配置格式先上一张图

第一个红框里面是说一下配置必须并且只能包含一个。第二个红框是我一开始的错误配置示范。

正确配置应该是

dest_ip=192.168.1.120 revalidate=30s

所以教训就是这个配置文件的每个参数都要好好看看说明,是不是必须有,能不能重复

 

2.优先级:ttl-in-cache>revalidate>expires(nginx)

revalidate 需要其他配置来保证对象能写入缓存中,如果不能写入缓存中,其配置无效。

ttl-in-cache 能够单独完成强制对象写入缓存中并保证认为的新鲜期,不需要额外的帮助使对象写入缓存中。

pin-in-cache 只是保证对象在缓存中不被删除,并不影响对象的新鲜度(不会影响http响应头部信息age)。

在同级配置下,前面匹配的配置生效。

https://blog.zymlinux.net/index.php/archives/698

 

3.上面配置错了或是没有配置,则proxy.config.http.cache.heuristic_min_lifetime生效(优先级最低)

 

4.未知功能pin-in-cache,官网写了一大堆,但是好像对我并没有什么卵用

 

如果谁知道此参数还麻烦告知

文章来源:

Author:linuxphp@qq.com(keminar)
link:http://blog.linuxphp.org/archives/1641/