如何让squid实现动态缓存
Refresh_pattern 规则仅仅应用到没有明确过时期限响应。原始服务器能使用Expires 头部,或者使用Cache-Control:max-age指令来设置过时期限,当然在squid主配置文件中配置refresh_pattern 配置任意数量,squid是按照顺序进行查找以匹配正则表达式,。一旦squid找到一个匹配时,squid会使用相应的值来决定,某个缓存响应是存活还是过期,当正则表达式之一被匹配URI时,squid 就会停止搜索
Refresh_pattern 的语法
Refresh _pattern [-i] regexp min percent max [Option]
一 regexp 参数是大小写敏感的正则表达式,- i 选项是忽略大小写,
三 在min 和max 时间限制之间的响应,会面对squid的最后修改系统LM-factor算法LM-factor=(responseb age)/(resource age). 对这样的响应,squid计算响应的年龄和最后修改系数,然后将它作为百分比值进行比较,响应年龄简单地就是从原始服务器产生,或者是最后一次验证响应后,经历的时间数量。源年龄在Last-Modified 和Date头部之间是不同的,LM-factor 是响应年龄与源年龄的比率。这不是一个精确控制过期的参数,如果要精确控制过期,就不要使用该参数
四 squid的refresh_pattern 算法的简单描述
1 如果响应年龄超过refresh_pattern 的max值,该响应过期;
2 如果LM-factor 少于refresh_pattern 的percent的值。该响应存活
3 如果响应年龄少于refresh_pattern 的min值,该响应存活
4 其他情况,响应过期
Resource age=对象进入cache的时间 – 对象的last_modified
Response age= 当前时间 – 对象进入cache的时间
LM-factor =(response age)/(resource age )
例如 refresh_pattern 20%
假如源服务器上www.aaa.com/index.html - --lastmodified 是2007-04-10 02:00:00
1 如果当前时间 2007-04-10 03:00:00
3 所有说2007-04-10 03:12:00 LM-factor=12/60=20% 之后,cache中的页面index.html 终于stale,如果这段时间没有index.html的请求,index.html会一直缓存中,如果有index.html 请求,squid收到请求后,由于已经过期,squid 会像源服务器发一个index.html是否有改变的请求,如果源服务器收到请求后,如果index.html没有更新,squid就不用缓存,直接会把缓存中的内容给客户端;同时,重置对象进入cache的时间为源服务器确认的时间。比如2007-04-10 03:13:00 ,如果正好在这个后重新确认了页面。重置后,resource age 变长,相应在cache中的cache中存活的时间也同样变长
1 Override-expire
2 Override-lastmod
3 Reload-into-ims
refresh_pattern -i \.css$ 1440 50% 129600 reload-into-ims
refresh_pattern -i \.xml$ 1440 50% 129600 reload-into-ims
refresh_pattern -i \.html$ 1440 90% 129600 reload-into-ims
refresh_pattern -i \.shtml$ 1440 90% 129600 reload-into-ims
refresh_pattern -i \.hml$ 1440 90% 129600 reload-into-ims
refresh_pattern -i \.jpg$ 1440 90% 129600 reload-into-ims
refresh_pattern -i \.png$ 1440 90% 129600 reload-into-ims
refresh_pattern -i \.bmp$ 1440 90% 129600 reload-into-ims
refresh_pattern -i \.js$ 1440 90% 129600 reload-into-ims
4 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
5 Ignore-no-cache
6 Ignore-private
7 Ignore-auth
8 Ignore-no-store
a no-store directive from the Web server which makes an object non-cacheable is ignored.
9 Refresh-ims
a refresh request from a client is converted into an If-Modified-Since request.
如何让squid实现动态缓存相关推荐
- ThinkPHP实现静态缓存和动态缓存
2019独角兽企业重金招聘Python工程师标准>>> 弄清静态缓存和动态缓存的用途: 静态缓存:生成静态页面--缓存的是整个页面; 动态缓存:仅对数据库中的数据进行了缓存,即&qu ...
- 浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)
系统默认的缓存方式是采用File方式缓存,我们可以在项目配置文件里面定义其他的缓存方式,例如,修改默认的缓存方式为Xcache(当然,你的环境需要支持Xcache) 对于File方式缓存下的缓存目录下 ...
- 谷粒商城 Day09 首页分类与SpEL动态缓存切面
Day09 首页分类与SpEL动态缓存切面 一.优化缓存逻辑 百万并发进来,判断 bloomFilter 和缓存中拿,先执行哪个最好?1. 先布隆 ,再缓存 面对攻击 1 好 2. 先缓存 ,再布隆 ...
- Linux实战教学笔记42:squid代理与缓存实践(一)
第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...
- LinuxProbe 0x18 使用Squid部署代理缓存服务
代理缓存服务 Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存. Squid服务程序具有配置简单.效率高. ...
- 静态缓存和动态缓存的比较
静态页面的缓存可能有2种形式:其实主要区别就是CMS是否自己负责关联内容的缓存更新管理. 静态缓存:是在新内容发布的同时就立刻生成相应内容的静态页面,比如:2003年3月22日,管理员通过后台内容管理 ...
- spring_在Spring中使用多个动态缓存
spring 在第三篇有关Spring(很长一段时间)中缓存管理器的文章中,我想通过展示如何配置多个动态创建缓存的缓存管理器来扩展前 两个. Spring具有CompositeCacheManager ...
- 在Spring中使用多个动态缓存
在第三篇有关Spring(长时间)的缓存管理器的文章中,我想通过展示如何配置多个动态创建缓存的缓存管理器来扩展前 两个 . Spring具有CompositeCacheManager ,从理论上讲,它 ...
- 【转】系统缓存全解析二:动态缓存(2)-页面局部缓存的两种方式
有时缓存整个页面是不现实的,因为页的某些部分可能在每次请求时都需要变化.在这些情况下,只能缓存页的一部分.顾名思义,页面部分缓存是将页面部分内容保存在内存中以便响应用户请求,而页面其他部分内容则为动态 ...
最新文章
- 从源码分析DEARGUI之add_menu_items
- 计算机二本生不学编程还能干什么6,不建议二本考生报考的6个专业,除非真的感兴趣!...
- php随机数字不重复使等式成立_当随机数遇上量子
- python webqq机器人_python模拟开发WebQQ(二)
- java addfirst_java – ArrayDeque类的addFirst方法
- 配置web.xml和glassfish容器实现javaEE表单验证
- 5Y叔的clusterProfiler-book阅读 Chapter 5 Gene Ontology Analysis
- CAT1 4G+以太网开发板腾讯云手机微信小程序显示温度和下发控制
- 电阻器颜色代码在线计算机,色环电阻计算器
- SpringCloud系列------Config-Server
- 使用CSS3制作一个简单的导航栏
- wcl怀旧服网站中文查服务器fb进度,魔兽世界怀旧服wcl数据查询方法
- 因设计或者设施缺陷导致道路交通事故赔偿问题的法律依据
- sprd9820 来电归属地
- 计算机里面的固态硬盘,怎么判断电脑里面的是不是固态硬盘?
- 独立电子商务网站运营成本
- VMware ESX 4.1版本,浏览器无法访问问题【已解决】
- SPOJ GSS2 Can you answer these queries II
- android使用Bitmap将jpg转化为灰度的bmp格式图片
- 群控手机源码二次开发
热门文章
- 【跃迁之路】【658天】程序员高效学习方法论探索系列(实验阶段415-2018.12.02)...
- 关于“数据可视化思考者”的8条军规
- SYSAUX表空间使用率高问题处理
- 课后作业:字符串加密
- [转]MySQL 5.6 my.cnf配置优化
- oracle archivelog模式与非archivelog模式转换
- 朱哥研究出来的分页控件
- python m http_非常简单的Python HTTP服务
- 完全理解python迭代对象_完全理解Python迭代对象、迭代器、生成器
- 基片集成波导原理_ETH研究人员开发微型红外光谱仪 可以集成到芯片当中