《PHP教程:使用Yii2實現主從數據庫設置》要點:
本文介紹了PHP教程:使用Yii2實現主從數據庫設置,希望對您有用。如果有疑問,可以聯系我們。
相關主題:YII框架
前言PHP學習
MySQL主從同步是目前使用比較廣泛的數據庫架構,技術比較成熟,配置也不復雜,特別是對于負載比較大的網站,主從同步能夠有效緩解數據庫讀寫的壓力.以前在使用yii1的時候,主從數據庫的支持沒有那么方便,只能寫上多個DB的components,然后在AR的getDB中返回相應的db.這樣也可以用來對付主從數據庫PHP學習
實現方法PHP學習
Yii2則已經解決這個問題,直接在代碼中進行處理即可:
PHP學習
PHP代碼PHP學習
'db' =>[ 'class' => 'yii\db\Connection', // 配置主服務器 'dsn' => 'dsn for master server', 'username' => 'master', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'php_',//默認為空 // 配置從服務器 'slaveConfig' => [ 'username' => 'slave', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'php_', 'attributes' => [ // use a smaller connection timeout PDO::ATTR_TIMEOUT => 10, ], ], ];
是不是感覺超級方便,而不止是這樣,你還可以配置從服務器組:
PHP學習
PHP代碼PHP學習
'db'=>[ //...上面是一些標準配置 'slaves' => [ ['dsn' => 'dsn for slave server 1'], ['dsn' => 'dsn for slave server 2'], ['dsn' => 'dsn for slave server 3'], ['dsn' => 'dsn for slave server 4'], ], ]
更值得稱贊的是,主服務器也是多個主服務器的配置就是下面這樣,其中字符編碼集,表前綴等設置參考上面的.
PHP學習
PHP代碼PHP學習
'db'=>[ // 配置主服務器 'masterConfig' => [ 'username' => 'master', 'password' => '', 'attributes' => [ // use a smaller connection timeout PDO::ATTR_TIMEOUT => 10, ], ], // 配置主服務器組 'masters' => [ ['dsn' => 'dsn for master server 1'], ['dsn' => 'dsn for master server 2'], ], //other ...slaves ];
果然 是輕輕松松啊.PHP學習
當然 如果你想更輕松的使用,這些,其實就是得用YII2的AR.你就用不著改代碼了..PHP學習
總結PHP學習
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流.PHP學習
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/2631.html