原文連接:Yii中文網(yii-china.com)-yii2數據庫讀寫分離配置php
簡介html
數據庫讀寫分離是在網站遇到性能瓶頸的時候最早考慮優化的步驟,那麼yii2是如何作數據庫讀寫分離的呢?本節教程來給你們普及一下yii2的數據庫讀寫分離配置。mysql
兩個服務器的數據同步是讀寫分離的前提條件,但這不在yii2讀寫分離教程內,yii2的數據庫讀寫分離配置,僅僅實現了在主庫讀寫,在從庫查詢,那麼咱們首先要配置主從服務器的數據同步。詳情查看linux數據庫主從同步配置linux
配置sql
主從服務器數據庫同步完成以後,咱們就能夠開始yii2的讀寫分離配置,官方也有這方面的文檔,但說的並不清楚,也沒有實際的例子,醬油君在這裏加以完善。數據庫
1.打開咱們的數據庫配置文件common\config\main-local.php在db屬性中作以下配置windows
'db' => [ 'class' => 'yii\db\Connection', // 配置主服務器 'dsn' => 'mysql:host=192.168.0.1;dbname=hyii2', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', // 配置從服務器 'slaveConfig' => [ 'username' => 'root', 'password' => 'root', 'attributes' => [ // use a smaller connection timeout PDO::ATTR_TIMEOUT => 10, ], 'charset' => 'utf8', ], // 配置從服務器組 'slaves' => [ ['dsn' => 'mysql:host=192.168.0.2;dbname=hyii2'], ], ],
如上配置就能實現yii2數據庫讀寫分離的操做,很簡單,只要一個配置就ok了,讀寫分離的功能由後臺代碼自動完成.調用者無須關心。服務器
上面只是一個1主1從的配置,若是要一主多從,或者多主多從,參考此例以及官方文檔便可完成。yii2
更多關於yii2的精品文檔點擊此處yii