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

CakePHP: tips on ssl, mysql load balance, mas

編輯:關於PHP編程

1. CakePHP Master/Slave
  *) add default(slave as for query) setting in database.php, and master for saving
  *) define a new replicate behavior
  <?php

    class ReplicationBehavior extends ModelBehavior {
   
         public function beforeSave($Model) {
          $Model->useDbConfig = master;
         }
       
         public function afterSave($Model) {
          $Model->useDbConfig = default;
         }
       
         public function setServer($Model, $server) {
          $Model->__backupConfig = $Model->useDbConfig;
          $Model->useDbConfig = $server;
         }
       
         public function afterFind($Model) {
          if (!empty($Model->__backupConfig)) {
           $this->useDbConfig = $Model->__backupConfig;
          }
          $Model->__backupConfig = null;
         }
        
         public function save($data = null, $validate = true, $whitelist = array()) {
              $this->Replication->beforeSave($this);
              return parent::save($data, $validate, $whitelist);
         }
   
    }
   
    ?>
    *) set $actAs to have replicate behavior in your base app model
        $actAs = array(Replicate);
   
    *) call the setServer method in your controller to determine which database you want to use for instant query after save
                if ($this->Deal->saveAll($this->data, array(validate=>first))) {
          $this->Deal->setServer(master);
                    $deal = $this->Deal->find(first,array(
                        conditions => array(slug => $this->data[Deal][slug]),
                        fields => array(id)
                    ));
                   
2. how to use xhprof (a php benchmark tool developed by facebook)
http://techportal.ibuildings.com/2009/12/01/profiling-with-xhprof/

3. MySQL load-balancing
mysql-load-balancing-proxy-trafficscript">http://www.zeus.com/community/articles/building-mysql-load-balancing-proxy-trafficscript

4. ssl
consolidate secure operations to single domain: https://lang.secure.jigocity.com
keep track of referer links in http header
redirect back to the original referer when done

 

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