想着缓存的问题,一直在思考,是不是让用户控制你的缓存?为什么这么说呢?本站的缓存基本上都没有用户的干预,缓存的生成和用户的操作没有任何关系,首页采用的是crontab job自动生成,post页面是在发布文章的时候生成的,而留言这是调用ajax直接从数据库中动态读取的。
ajax不利于搜索引擎的抓取,这是大家都知道的,要知道,留言的内容有的时候还是也有价值的,所以我现在在考虑留言是否应该直接写入到页面的缓存上,即在用户留言之后重新生成缓存。这就存在了要不要把缓存的控制权交给用户的问题了。大家知道,用户的网速和计算机的配置都是参差不齐,所以用户随时都会关闭他的浏览器,如果这个时候缓存还没有生成就关闭了,是不是就意味着这样的缓存永远都没有机会翻身了呢 。我首页有的时候就显示空白,很有可能就是wget的同时有用户在请求页面,造成共享冲突,所以……。
其实解决方法还是有的,那就是得改变现在的缓存生成方式, 不能通过wget或者fsocksopen或者fopen url的方式来实现了,因为这样用户的中断就意味着操作的失败,生成残缺不全或者干脆空白的页面。所以下一步的计划就是修改现在的html-cache-creator 插件,彻底改成缓冲区捕捉的方式来生成缓存,因为捕捉缓冲区的时候,如果用户关闭了浏览器,缓冲区未输出就不会启动缓存写入文件函数,所以就不会产生空白或者残缺的cache,看来wordpress还有得玩,不过朋友别指望我会将分页缓存,因为随着文章的增加,以前的第二页就会变成第三页或者第四页等等,那我更新一次缓存消耗太大了,如果实在需要,我可以考虑将PEAR的cache_lite集成进来,那是后话。
简单的缓存,考虑的东西还是比较多的,如果你有更好的方法请您留言和我交流!
该日志未加标签
html-cache-creator 插件 存在以下BUG:
只是在html文件夹下生成了POST的.html文件,而没有生成PAGE下的页面(比如关于、留言本等)的.html文件,Categories、Archives、以及博客自己的feed还有PageNavi也是如此。以PAGE的“关于(about)”举例来说,在没有改永久连接前,URL为:http://www.myblog.cn/index.php/about 启动插件并按照操作生成html后,所有的POST的新URL可以访问,但是“关于(about)”却不能访问,因为它的新URL是http://www.myblog.cn/about,而这个地址下并没有文件。