最近在做一个静态管理的程序,遇到一些问题想问下各位大虾的意见静态分为伪静态和真实静态两种,伪静态管理没有什么问题,也不用管理,主要是静态更新的问题,一般在做这样的静态处理的时候都是采用什么原理呢,或者说什么样的方式比较好

解决方案 »

  1.   

    首先谢谢jakey9826的回答
    我先这里跟大家请教的是静态更新上的问题,比如利用判断时间来达到更新,或者根据数据库标记(是否有更新)来时时更新关于生成静态部分,这里不做探讨.感觉缓存机制还可以,主要是文件缓存和数据库缓存结合时怎么结合比较好或者大家在处理类似问题的时候一般采用什么样的方式解决?
      

  2.   

    有内容更新的时候就重新生成与更新相关的静态文件,一般cms都这么搞的
      

  3.   

    在数据改变的时候,把原来的静态页面改变一下就行了嘛!不过这么做,在页面删除的时候就不好做了,我认为如果想做成静态页面做成XML+XSTL。这样和静态页面差不多,可能要好些!
      

  4.   

    还是看需求把,有些需要重新删除,生成。有些不需要.调整的字段少的话,应该ajax过来新值就OK了。不用删除.
      

  5.   

    其实很简单,就两点:1 浏览的时候,总是去找已生成的静态页面。
    2 当文章内容需要update的时候,重新生成html页面覆盖原有的就可以了。
    或者可以采取更加细致的方式:在一整个静态页面中,找出所有有动态内容变化的地方。使用<script src="xxx.php"></script>的方式。举个例子,比如一篇文章内有个地方需要显示这篇文章的浏览次数。那么你就可以用这种方式,xxx.php中负责查询查询数据库,然后echo出一个值。这样你的静态页面这里就会动态输出内容了。
    不过嘛,如果一个页面多处都有类似这样的需要,并且对这些数据的实时性要求并不高。可以采用动态缓存技术。设定一个超时时间,比如300秒,生成一个xxx.js文件,实际上就是一个缓存文件,后台有个php程序,300秒查询一次数据库,然后将结果写入或覆盖那个xxx.js文件,内容大概为:document.write('xx');
    这就是动态缓存技术。你的这个文章页面的浏览统计那里,300秒更新一次。这样会很大程度减轻对数据库的压力。discuz等系统很多地方就是采取的这种技术。