Yii 实现数据库读写分离
实现一主一从,一主多从,多主多从的读写分离。支持DAO,AR,其中Query builder只完成部分,需完善
调用
//ARclass User extends ActiveRecord{public $useDbName= 'passport';//$this->dbWrite();}//$connection = $model->getDbConnection();//DAO$connection = Yii::app()->db->setDbName('passport');$count = $connection->createCommand('SELECT COUNT(*) FROM film')->queryScalar();$sql = 'SELECT film_id,title FROM film';$dataProvider=new CSqlDataProvider($sql,array('db'=> $connection,'totalItemCount'=>$count,));Yii::app()->db->getLastInsertID();//Query Builder$user = Yii::app()->db->setDbName('passport')->createCommand() ->select('id, username, profile') ->from('tbl_user u') ->join('tbl_profile p', 'u.id=p.user_id') ->where('id=:id', array(':id'=>$id)) ->queryRow();?v2优化CDbConnectionExt能查看当前使用的主从库配置
Yii::app()->db->setDbName('passport');//print_r(Yii::app()->getComponent('passport'));?
?
?