Loading...

是否让用户控制你的缓存

2007-05-16 22:10:52 发表于PHP, 网站技术 本文链接: 是否让用户控制你的缓存

想着缓存的问题,一直在思考,是不是让用户控制你的缓存?为什么这么说呢?本站的缓存基本上都没有用户的干预,缓存的生成和用户的操作没有任何关系,首页采用的是crontab job自动生成,post页面是在发布文章的时候生成的,而留言这是调用ajax直接从数据库中动态读取的。

ajax不利于搜索引擎的抓取,这是大家都知道的,要知道,留言的内容有的时候还是也有价值的,所以我现在在考虑留言是否应该直接写入到页面的缓存上,即在用户留言之后重新生成缓存。这就存在了要不要把缓存的控制权交给用户的问题了。大家知道,用户的网速和计算机的配置都是参差不齐,所以用户随时都会关闭他的浏览器,如果这个时候缓存还没有生成就关闭了,是不是就意味着这样的缓存永远都没有机会翻身了呢 。我首页有的时候就显示空白,很有可能就是wget的同时有用户在请求页面,造成共享冲突,所以……。

其实解决方法还是有的,那就是得改变现在的缓存生成方式, 不能通过wget或者fsocksopen或者fopen url的方式来实现了,因为这样用户的中断就意味着操作的失败,生成残缺不全或者干脆空白的页面。所以下一步的计划就是修改现在的html-cache-creator 插件,彻底改成缓冲区捕捉的方式来生成缓存,因为捕捉缓冲区的时候,如果用户关闭了浏览器,缓冲区未输出就不会启动缓存写入文件函数,所以就不会产生空白或者残缺的cache,看来wordpress还有得玩,不过朋友别指望我会将分页缓存,因为随着文章的增加,以前的第二页就会变成第三页或者第四页等等,那我更新一次缓存消耗太大了,如果实在需要,我可以考虑将PEAR的cache_lite集成进来,那是后话。

简单的缓存,考虑的东西还是比较多的,如果你有更好的方法请您留言和我交流!

该日志未加标签
发表于 2007-05-16 22:10:52 目录:PHP, 网站技术 [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
  • 相关阅读
  • homezz 美国专业主机商
    已经有11位大师动手指导 拒绝低俗
    • 1楼 水鸟飞翔 在2007.05.17 01:16发表评论如下: 回复

      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,而这个地址下并没有文件。

      • 2楼 水鸟飞翔 在2007.05.17 01:17发表评论如下: 回复

        刚才的品论发出去没

        • 3楼 水鸟飞翔 在2007.05.17 01:17发表评论如下: 回复

          晕倒,我白写了一堆意见

          • 4楼 水鸟飞翔 在2007.05.17 01:23发表评论如下: 回复

            html-cache-creator 插件的问题:

            只在html下生成了post的.html文件,page、Categories、Archives、还有博客自身的feed以及PageNavi都没有生成.html文件,所以按照你的原理无法访问。

            拿page下的留言本举例,没有改永久连接前URL是http://www.myblog.cn/index.php/gb
            改了后URL变成了http://www.myblog.cn/gb ,但却无法访问,因为这个地址下没有文件,也没有转向到原地址。

            • 5楼 水鸟飞翔 在2007.05.17 01:23发表评论如下: 回复

              html-cache-creator 插件的问题:

              只在html下生成了post的.html文件,page、Categories、Archives、还有博客自身的feed以及PageNavi都没有生成.html文件,所以按照你的原理无法访问。

              拿page下的留言本举例,没有改永久连接前URL是http://玉米/index.php/gb
              改了后URL变成了http://玉米/gb ,但却无法访问,因为这个地址下没有文件,也没有转向到原地址。

              • 6楼 水鸟飞翔 在2007.05.17 01:24发表评论如下: 回复

                html-cache-creator 插件的问题:

                只在html下生成了post的.html文件,page、Categories、Archives、还有博客自身的feed以及PageNavi都没有生成.html文件,所以按照你的原理无法访问。

                拿page下的留言本举例,没有改永久连接前URL是
                玉米/index.php/gb
                改了后URL变成了
                玉米/gb ,但却无法访问,因为这个地址下没有文件,也没有转向到原地址。

                • 7楼 cosβ 在2007.05.17 09:31发表评论如下: 回复

                  你的永久链接很奇怪啊,默认的应该是?page_id=num,而不是你说的那样,本来page和归档我都没有缓存,原因文章中已经有描述阿,如果所有的都缓存,那些需要更新的信息怎么办?分类都要缓存什么时候更新?所有的这些问题决定了你必须作出取舍

                  • 8楼 cosβ 在2007.05.17 09:39发表评论如下: 回复

                    因为你在留言中写了url,所以系统把你当作spam了

                    • 9楼 cosβ 在2007.05.17 09:41发表评论如下: 回复

                      况且,如果你不配合ajax留言程序的话,静态化也还是有问题的,下一个版本争取让用户留言的时候更新缓存,这样就不需要ajax评论了

                      • 10楼 水鸟飞翔 在2007.05.17 14:43发表评论如下: 回复

                        [quote]你的永久链接很奇怪啊,默认的应该是?page_id=num,而不是你说的那样,本来page和归档我都没有缓存,原因文章中已经有描述阿,如果所有的都缓存,那些需要更新的信息怎么办?分类都要缓存什么时候更新?所有的这些问题决定了你必须作出取舍
                        [/quote]1、永久链接有几种,你说的那个是第一种,而我选择的是第三种,所以你感觉奇怪。如果我把连接地址改为?page_id=num的形式再用你的插件是不是可以打开page呢?这个等我过几天不忙了试一下。

                        2、你说的ajax评论是什么?是不是Theme里要有这个文件,我看有的Theme有ajax文件而有的没有,我目前用的这个Theme就没有。

                        3、还有一个问题就是每篇post在html文件夹里都生成一个.html文件不是很占用空间么,而且多了这么多文件总觉得不太好,万一哪天给丢了的话不是很多URL都不可以访问了么?有没有其他不需要生成文件的静态化方法。

                        4、除了占空间外,另一个麻烦是通过post的旧URL不能直接到这篇post,而是转到了博客主页。

                        • 11楼 cosβ 在2007.05.17 14:50发表评论如下: 回复

                          1.要修改永久链接 2.ajax评论本站有插件,可以站内搜索3.缓存不生成文件还叫缓存?缓存和空间占用是一对矛盾体,任何系统都这样4.你修改了永久链接之后得更新一次所有的永久链接,wordpress必须这样做。

                          评论分页: 1
                          (Required)
                          (Required, not published)
                          如果留言未显示无需重复留言,我将为你恢复!