让 dedecms 生成 html 的速度快一倍,这个不是吹牛的。我们在发现当你的 dedecms 文
章咨讯超过 100 万篇的时候,你去生成 html 的时候,那是非常痛苦的。数据库会跑到 100%
而且 php 也可能跑到 100%。生成 html 的时间是十分缓慢的,如果你改版之后或者要调整下
广告,那是非常痛苦的。必须重新生成。dedecms 在生成 html 的时候不大可能能完全生成。
为了解决这个问题,我们可以采用 2 个办法,一个就是公共数据只生成一份,然后用
include 的方式包含进去,比如 10 个分类,每个分类有 100 页,那么这 100 页的左边或右边
的公共数据都是相同的,如果每个生成。都要去取一次数据库信息,然后显示出来。是非常
复杂非常麻烦的。也影响了生成 html 的速度,如果 100 页,我们只用生产一个 html。然后
让其他页面直接包含,这样是否就减少了服务器的负载,而且能加快服务器生成 html 的速
度。
既然提到 dedecms 的列表和文章有大量的数据是重复的,可以直接包含的。我们就可以
考虑到,变化的排行以及推荐是动态的,文章详细页面的内容是基本上不变的。这个时候我
们就可以考虑使用 dedecms 的 shtml 方式来处理。
大家都知道,在 dedecms 生成 html 的时候,我们可以采用将公共数据生成一个 shtml。
然后在生成列表,文章详细页面的时候,直接使用 shtml 的 include 方式去包含,包括文章,
首页和列表的头部以及底部,都可以生成一份 shtml。然后通过 shtml 的 include 方式包含进
去,这样就减少了服务器生成 html 的时间,加快了 dedecms 生成的效率。
如果 dedecms 遇到改版,或者是修改导航,或者是换广告,我们就可以将独立的数据,
独立出来。重新生成,而不影响大数据的状态,这样又可以达到动态更新,不需要全部生成
的效果。能很方便的实现局部更新。
公共的数据需要大部分时间去处理,我们通常把这个时间节约出来,会有很好的效果。
接下来我们会谈。如何生成 dedecms 的导航 shtml,生成 dedecms 的底部,生成 dedecms 的公
共数据部分。