我用的vps,用了wordpress之后速度慢了不少,内存,cpu,涨的都厉害,很直观。
于是,写插件吧,虽然wordpress的插件很多,缓存插件也不少,但满足我的需求的却是没有。我要的是这样的
1.使用memcache缓存整个页面。(memcache可压缩缓存,并且我的页面并不多,因此占用并不大)
2.在入口处就加载并且使用缓存(仅仅加载一个我预定义的缓存读取php文件,io极少,速度极快)
需求很少,因为是特定的需求,十分简单,我要的就是整个页面都跑在内存中!
写插件吧……几天之后,一个插件完成了。
hccache缓存插件加速
后台菜单是酱紫的
hccache菜单点开之后是酱紫的
能够定义缓存过期时间
可以查看并且手动清除缓存
好了,一个简单地缓存插件就写好了,其中有一些细节,比如
1.用什么做key呢?
答案是url,经过md5之后,就成了一个key了,url本身就具有唯一性
2.如何控制404页面不被缓存呢?
这里用了一个html标签,正常页面会在页脚插入一个的标签,而404页面以及没有使用模板的或者载入不完整的页面都不会有这个标签,极大地保证了缓存的准确性
3.为了保证能够缓存更多的页面,我对缓存进行压缩了。不过实际上也就是memcache自带的压缩功能啦
4.如果有文章查看次数,这样静态的岂不是查看次数不能更新了,怎么办?
用ajax啦,这个我准备在主题里面增加解决方案了,没别的方法了
5.评论之后没法显示,这个又该如何解决呢?
还是用ajax啦,还是在主题之中增加解决方案了
6.缓存自动更新机制,在发布文章的时候,自动更新首页的缓存。
全页面的缓存问题
上面有些问题仅仅在全页面缓存中会出现,比如查看次数,比如评论问题,这些问题都需要我们使用ajax来做,因为全静态就意味着主题前台所有的动态功能都无法使用了,能够做的仅仅是展示之前缓存的页面而已。当然,这对于一个小程序员来说,这些并不是什么大问题,解决就是。
使用cdn再次加速
当我使用了我的hccache缓存插件之后,发现速度确实是提升了,很明显。但是当我强制刷新的时候,却发现速度异常的慢。
打开firebug,发现时某些js的加载导致的,网站响应速度是飞快的,但是却因为这些个js拖了后腿,绝对不能忍!
这些js都是必须的,不能去掉,于是考虑到将这些js放到cdn上面去。(都是一些库,jquery啊),可以看看国内常用的js cdn。
当我把我的js库改成cdn之后,加速效果十分明显。用秒开已经不足以形容网站的速度,顺便说一下,我的主机还是国外的哦。
后记
真正让我感官上速度加快的,其实是cdn。缓存的作用更多的是减小主机的负担。在访问量极高的时候尤为明显!
赞赏