程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> CakePHP: 性能方面的考慮

CakePHP: 性能方面的考慮

編輯:關於PHP編程

1、$uses和loadModel的使用

在CakePHP1.3.x版本中盡量不使用$uses, 因為這會全部加載使用到的model,占用內存和消耗不必要的時間。

相反在需要使用model的地方,使用loadModel加載它。在不需要關聯數據的情況下,設置其recursive屬性為-1。

另外控制器默認的數據模型不用加載,如果users_controller不用調用loadModel(User),User模型及其關聯模型會自動加載,

在控制器中只要直接使用即可:

        $this->User...     ;  

        $this->User->Role...

使用lazy loading技術, 1.3版本有一個lazy_model,把你的app_model的基類換成LazyModel,

將使得model僅在實際調用的地方才會真正加載。

2、eval和requestAction的使用

盡量不要使用eval和requestAction。eval會導致新的腳本解析進程,而requestAction等同於發出一個新的請求。

eval可以用{}或$$類似語法替換,如

case 1        

$this->{$this->modelClass}->hasField("country_id");

-----------------------------------------------------------------

case 2

$foo = city;

$$foo = shanghai;

requestAction用view/helper替換

3、Cache

需要分布式數據共享的地方用memcached,本地數據盡量用Apc。在使用到Cache::write/read的地方通過參數指定使用core.php中配置的哪個Cache。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved