真的骄傲梦想家园
专业源于兴趣和努力

  许多人以为,使用了Zend Framework,使用了Smarty,网站就是企业级的了。Zend Framework是一个企业级的框架,Smarty也是一个企业级的模板引擎,但是一个厨师级的锅和一把厨师级的刀并不一定就能炒出厨师级的菜来。

  Zend Framework的路由功能很强大,很灵活,能满足各种复杂的路由需求,但是,它的性能损耗也是挺大的。每一次请求都要遍历匹配一遍所有的路由规则,尤其是正则表达式的匹配,都是一次很大的开销。那么,怎样才能减少这方面的开销呢?

  我的解决方案是,在第一次请求时,把请求的地址和路由规则匹配的结果保存起来,可以保存在文件了,可以保存在数据库里,还可以保存在内存中,根据不同的需求和硬件条件进行选择。一般的中小型企业,可以保存在文件里就行了,实现起来也简单方便。等到下一次有相同地址的请求时,直接读取已保存的匹配结果,这样就能跳过了路由规则匹配的庞大开销,直接执行业务逻辑。

  我在这里只是给出了优化的方法,具体的代码实现就要各位读者自己研究了哦,这个方法不仅适用于Zend Framework,对于其他类似的框架也是适用的。

posted on 2010-07-11 17:10  真的骄傲  阅读(1517)  评论(1编辑  收藏  举报