在實際開發中,為了服務更好的回應,通常會設定資料庫的讀寫分離,主庫負責寫入更新等操作,從庫負責讀操作,
以下是YII2中配置MySQL讀寫分離,一主多從設定,設定好后,這些從庫其中之一將被建立起連接并執行讀操作,而主庫將被用來執行寫操作, 這樣的讀寫分離將通過以下配置自動地完成,
return [ 'components' => [ 'db' => [ // 主庫配置 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=master_test', 'username' => 'username', 'password' => 'password', 'charset' => 'utf8', // 從庫的通用配置 'slaveConfig' => [ 'username' => 'username', 'password' => 'password', 'attributes' => [ // 使用一個更小的連接超時 // 這里每個從庫都共同地指定了 10 秒的連接超時時間, // 這意味著,如果一個從庫在 10 秒內不能被連接上,它將被視為“掛掉的”, // 你可以根據你的實際環境來調整該引數, PDO::ATTR_TIMEOUT => 10, ], ], // 從庫的配置串列 'slaves' => [ ['dsn' => 'mysql:host=localhost;dbname=slaves_test'], ['dsn' => 'mysql:host=localhost;dbname=slaves_test2'], ], ], ], ];
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/47272.html
標籤:PHP
上一篇:PHP 目錄的相關操作
下一篇:PHP 會話控制技術
