设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 5257|回复: 4

[Squid] SQUID refresh_pattern详解 [复制链接]

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

签到
475
注册时间
2008-5-19
最后登录
2019-11-16
在线时间
1946 小时
阅读权限
200
积分
59409
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2009-1-22 12:58:28 |显示全部楼层
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。

举例:
  1. refresh_pattern -i \.gif$   1440    50%     2880      ignore-reload
  2. refresh_pattern -i \.jpg$   1440    50%     2880      ignore-reload
  3. refresh_pattern -i \.png$   1440    50%     2880      ignore-reload

  4. refresh_pattern -i \.mp3$   1440    50%     2880      ignore-reload
  5. refresh_pattern -i \.wmv$   1440    50%     2880      ignore-reload
  6. refresh_pattern -i \.rm$   1440    50%     2880      ignore-reload
  7. refresh_pattern -i \.swf$   1440    50%     2880      ignore-reload
  8. refresh_pattern -i \.mpeg$   1440    50%     2880      ignore-reload
  9. refresh_pattern -i \.wma$   1440    50%     2880      ignore-reload

  10. refresh_pattern -i \.css$ 10 50% 60 reload-into-ims
  11. refresh_pattern -i \.js$ 10 50% 60 reload-into-ims
  12. refresh_pattern -i \.xml$ 10 50% 30 reload-into-ims
复制代码
&amp;lt;-sina_sign,1762622645,2a5b1a59,10-&amp;gt;感谢大家对linuxtone的支持!&amp;lt;/strong&amp;gt;

Rank: 8Rank: 8

注册时间
2010-2-26
最后登录
2017-5-2
在线时间
600 小时
阅读权限
90
积分
82550
帖子
789
主题
41
精华
0
UID
8062
发表于 2010-9-3 11:17:58 |显示全部楼层
学习了!

使用道具 举报

Rank: 1

注册时间
2011-1-11
最后登录
2011-11-7
在线时间
9 小时
阅读权限
1
积分
33
帖子
1
主题
0
精华
0
UID
11729
发表于 2011-1-21 14:23:05 |显示全部楼层
nice!~~~受教了。

使用道具 举报

Rank: 4

注册时间
2009-10-22
最后登录
2013-11-5
在线时间
30 小时
阅读权限
50
积分
1390
帖子
76
主题
0
精华
0
UID
6098
发表于 2011-1-21 15:14:46 |显示全部楼层
refresh_pattern -i  ^http    144000   0%  144000   ignore-reload override-lastmod


最好是这么写 min max一致 并且加上ignore-reload override-lastmod

使用道具 举报

金牌会员

反正我是信了

Rank: 6Rank: 6

注册时间
2011-6-1
最后登录
2011-12-9
在线时间
125 小时
阅读权限
70
积分
8080
帖子
438
主题
80
精华
0
UID
13993
发表于 2011-6-1 11:11:41 |显示全部楼层
CURRENT_DATE-DATE 这个时间是客户端访问页面的时间,还是服务器的时间啊??:(:(?????????????

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2019-12-16 21:21 , Processed in 0.023738 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部