SQUID refresh_pattern详解
|
refresh_pattern 大概是 squid 最有意思但最不好懂的配置参数了,经过看书,大概明白如何使用,写出来贡献。
记住refresh_pattern 只对后端没设置Expires过期时间的页面起作用,比如论坛页面;而对类似apache mod_expires 设置过的页面不起作用。 说明之前,先将个概念LM,LM就是页面Header里时间(Date)和Last-Modified时间的差。Date一般是Squid从后面取页面的时间,Last-Modified 一般是页面生成时间。 refresh_pattern 的语法是 Code: 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取新鲜内容。 <img src=" http://blog.cnlinux.net/image/default/ad.gif"> 如果希望页面一进入cache就不删除,直到被主动purge掉为止,可以加上ignore-reload选项 一般情况可以使用 reload-into-ims。 举例: Code: |
| |
原文地址 http://bbs.chinaunix.net/viewthread.php?tid=922457&extra=page%3D6 |