图解cos-html-cahce原理

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<script type="text/javascript"> </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活动成功举办!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值