是否让用户控制你的缓存

时间:2007-05-16 22:10:52      类别:PHP, Web技术|WEB Tech      本文链接:生活点滴Enjoy Life

想着缓存的问题,一直在思考,是不是让用户控制你的缓存?为什么这么说呢?本站的缓存基本上都没有用户的干预,缓存的生成和用户的操作没有任何关系,首页采用的是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, Web技术|WEB Tech [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
如果您喜欢本blog,欢迎你的feed订阅,谢谢你的支持

前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必须这样做。

  • 转到第
(Required)
(Required, not published)
如果留言未显示请不要重复留言,我将为你恢复!


生活点滴Enjoy Life is proudly powered by WordPress | admin| About Us | cosbeta| Bluehost| site map 0.330s & 25