回复: 风讯刷新记录的参数 G_REFRESH_SPEED ,没有实现,倒是我自己实现了
风讯CMS 生成页面的原理是这样的
先是查找出所有 {FS .... } 这样的标签. 这个工作不效时,因为模版页标签不多.
再搜索那些标签中的标签, 就是那些系统函数 类似这样的,{ | | |}
这个工作量就大了.要反复检查, 然后取得HTML代码,再加进入去,替换标签.
替换的过程中,它是分系统的,不同的系统不同的操作.而且每个网页都要重复这样的过程一次.
总之,过程是非常慢,非耗CPU的工作!
虽然风讯的代码总体上写得不错.但是还是要批评它的不足.这样的生成速度是不合格的!
那么难道就没办法优化了吗?不是的.
我们都知道,网页上的内容有些是动态的,有些是静态的,有些是某种情况下是静态的.这样就提供给了我们一种可能.
1,那些不需要变动的内容,我们可以缓存到内存.
2,一般的动态内容都涉及到 NewsID ,这个变了,内容才变,那么与这个无关的,即不会变动的内容,执行一次后,就可以缓存到内存.
3,再如那些 类似 { | | | | } 这样的系统变量.比如,新闻列表.为什么不可以生成一个模版页面,把需要的内容再用标签标记,缓存到内存,当需要变动时,进行替换呢? 有必要每次都去检测参数,去生成页面吗?