Squid的refresh_pattern配置

 refresh_pattern 大概是 squid 最有意思但最不好懂的配置参数了。

记住refresh_pattern 只对后端没设置Expires过期时间的页面起作用,比如论坛页面;而对类似apache mod_expires 设置过的页面不起作用。

说明之前,先将个概念LM,LM就是页面Header里时间(Date)和Last-Modified时间的差。Date一般是Squid从后面取页面的时间,Last-Modified 一般是页面生成时间。

refresh_pattern 的语法是

refresh_pattern [-i] regexp min percent max [options]


regexp 就不讲了,大家都明白的;)
min, max的单位是分钟,percent就是百分比。

refresh_pattern 的算法如下:(当前时间定义为CURRENT_DATE)
1) If ((CURRENT_DATE-DATE(就是LM里定义的时间)) < min),cache是新鲜的
2) else if ((CURRENT_DATE-DATE) < (min + (max-min)*percent),cache是新鲜的
3) else cache是过期的
cache过期就需要从后面server取新鲜内容。
如果希望页面一进入cache就不删除,直到被主动purge掉为止,可以加上ignore-reload选项
一般情况可以使用 reload-into-ims。
举例:

refresh_pattern -i \.gif$   1440    50%     2880      ignore-reload
refresh_pattern -i \.jpg$   1440    50%     2880      ignore-reload
refresh_pattern -i \.png$   1440    50%     2880      ignore-reload

refresh_pattern -i \.mp3$   1440    50%     2880      ignore-reload
refresh_pattern -i \.wmv$   1440    50%     2880      ignore-reload
refresh_pattern -i \.rm$   1440    50%     2880      ignore-reload
refresh_pattern -i \.swf$   1440    50%     2880      ignore-reload
refresh_pattern -i \.mpeg$   1440    50%     2880      ignore-reload
refresh_pattern -i \.wma$   1440    50%     2880      ignore-reload

refresh_pattern -i \.css$ 10 50% 60 reload-into-ims
refresh_pattern -i \.js$ 10 50% 60 reload-into-ims
refresh_pattern -i \.xml$ 10 50% 30 reload-into-ims
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值