当前位置:实例文章 » PHP实例» [文章]CakePHP: tips on ssl, mysql load balance, mas

CakePHP: tips on ssl, mysql load balance, mas

发布人:shili8 发布时间:2022-12-04 03:26 阅读次数:68

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

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

免责声明

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱290110527@qq.com删除。

其他信息

其他资源

Top