图解cos-html-cahce原理

来源:互联网 发布:云计算技术与应用论文 编辑:程序博客网 时间:2024/05/22 03:05

<script type="text/javascript"><!--google_ad_client = "pub-0241434510974184";/* 博客文章广告728x90, */google_ad_slot = "7316585398";google_ad_width = 728;google_ad_height = 90;// --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<script type="text/javascript"><!--google_ad_client = "pub-0241434510974184";/* auto-http.cn 右边 ,468x60 */google_ad_slot = "0902256228";google_ad_width = 468;google_ad_height = 60;// --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

其实早在以前我已经写过关于cache和cos-html-cache原理的文章了,但是还是有朋友有点迷糊,所以今天抽空再来篇图解cos-html-cache原理介绍,毕竟一图胜千言,希望通过这次介绍,大家能对这个插件的原理更加明白,这样安装过程出现问题之后也能更快的定位了,更快的解决了。

如左图,cos-html-cache插件是需要urlrewrite支持的,不幸的是这个条件已经将国内的70%的虚拟主机挡在门外了。下面介绍请求url的流程,当访问者请求一个网址的时候,如例子中的/html/y2007/1_demo.html,服务器首先会去相关的文件夹(/html/y2007/)下寻找文件(1_demo.html)是否存在,如果存在则直接将该文件发送给浏览者,否则则发送一个404文件未找到的错误给浏览者,但是如果你的服务器支持自定义htaccess,服务器则将利用wordpress设置好的urlrewrite规则,将请求定位到index.php,剩下的事情由index.php进行处理,这个时候如果你安装了cos-html-cache这个插件,index.php在输出html的同时就会启动缓存创建函数来创建缓存,如本例中,缓存函数将分析请求的url,如 http://storyday.com/html/y2007/1_demo.html,然后检查web根目录下的html文件夹是否存在,如不存在则创建之,同样的方式创建y2007文件夹,然后在文件夹中创建文件1_demo.html,将刚才的输出内容写入到这个缓存文件中,至此缓存建立完毕,这样下一次同样的网址被访问到的时候,web服务器将直接输出缓存文件,而不会去执行php,也不会去查询数据库,大大的提高的页面的在入速度,和WP-Cache不在同一量级。

那么这个缓存的更新机制是怎样的呢?由于wordpress完善的插件hook机制,使得在任何需要的地方我们都可以利用插件来操作wp,因此cos-html-cache在将缓存更新绑定在几个关键的操作上,他们是增加文章、修改文章、增加留言、修改留言、删除留言,因为一般的blog需要更新的事件无非也就是这几个,所以这这些事件发生的时候,cos-html-cache将会删除对应文章的缓存,该文章下一次被访问的时候就会再次被创建缓存。
批量更新,有朋友总希望恢复1.1版本的后台批量更新功能,其实2.0版本的批量删除缓存功能就是批量更新。批量删除的原理是:插件从数据库中获取所有文章的永久链接,然后根据链接分析缓存的路径,利用php删除对应缓存文件。这时候有人会说,那怎么没有更新呢?下次有人访问就自动更新了呀。想更新特定的文章缓存怎么办?管他什么特定的文章哦,需要更新的时候就批量删除缓存即可。我认为这是最优的方法,1.x的版本经常将bluehost搞得超标,这也是促使我将插件升级2.0的一个重要原因。

任何事物都是具有两面性的,如果你仅仅是blog,我强烈建议你用上这个插件,对于浏览者来说,速度和花哨的界面,多数人愿意选择前者。

理解了原理之后,相关的问题就容易解决了,比如为什么分页无法建立文件,因为你分页的链接是/xxx/xx/post1.html/2,这并不是一个文件路径,所以无法建立文件,若是你能想办法(网上已经有人有相关办法)让分页的格式如/xxx/xx/post1-page2.html,这就是一个实际文件的地址了,插件便可创建文件了。

一个台湾 mm测试的本插件运行数据 可以参考

顺祝明天的WordCamp2007 Beijing活动成功举办!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 把qq数据删除了怎么办 手机qq头像显示不同怎么办 手机qq图片显示不出来怎么办 微信群聊右上角双人头像没了怎么办 支付宝好友没了怎么办 手机qq好友头像没了怎么办 微信语音变成听筒模式怎么办 微信语音为听筒模式怎么办 微信设置成听筒模式怎么办 微信验证看不全怎么办 qq看视频无法放大怎么办 苹果6功能键坏了怎么办 qq显示不了头像和图片怎么办 关于学校随便更换老师家长怎么办 qq群昵称改不了怎么办 电脑qq群视频进不去怎么办 微信头像没保存怎么办 qq群信息不响怎么办 微信封面换不了怎么办 微信头像没有了怎么办 科二超过5次怎么办 蘑菇街个人中心打不开怎么办 蘑菇街的个人中心打不开怎么办 qq群500人满了怎么办 微信零钱发不出来怎么办 微信零钱发不出去怎么办 微信零钱发不了红包怎么办 当亲戚孤立你该怎么办 陌陌好友找不到了怎么办 换了手机号陌陌号找不到怎么办 微信解析包出现问题怎么办 老板找借口不发工资怎么办 苹果手机忘记id帐号密码怎么办 苹果6手机帐号密码忘记怎么办 狗狗在窝里撒尿怎么办 爸妈和媳妇不好怎么办 如果老婆不用老公的钱怎么办 老公不给老婆钱花怎么办 奶少孩子不愿意吸怎么办 孩子识字少不愿意读书怎么办 夏天孩子不愿意喝水尿量少黄怎么办