Yii2的主從資料庫設定

來源:互聯網
上載者:User

Yii2的主從資料庫設定

項目做大了,資料庫主從還是不可少的。使用Yii架構開發,如何設定資料庫的主從呢?其實很簡單。

先說一個主要資料庫伺服器和多個從資料庫伺服器的情況,修改設定檔 config/db.php ,其中 slaveConfig 裡的為從伺服器的公用部分,也可以設定到 slaves 裡的各個從伺服器的配置裡。

'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,        ],        ],    // 配置從伺服器組    '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'],    ],

還可以主伺服器也是多個的那主伺服器的配置就是下面的樣子,其中字元編碼集,表首碼等設定參考上面的。

 // 配置主伺服器    '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'],    ],

配置好了,那麼如何使用呢,Yii這點做的特別好,因為你幾乎不用修改你的代碼,不用考慮你代碼裡的資料庫操作如何使用主伺服器配置還是從資料庫配置,架構本身已經實現了。預設系統裡 execut()函數操作的是主庫,其他情況都操作從庫,比如queryAll()。而且對於AR操作也是如此,因為他就是基於Yii::$app->db來實現的。

在Yii2中使用Pjax導致Yii2內聯指令碼載入失敗的問題

Yii2 實現修改密碼功能

Yii 使用者登陸機制 

Yii中引入js和css檔案 

Yii 不完全解決方案 

Yii CGridView 基本使用

Yii架構分布式緩衝的實現方案

Yii 的詳細介紹:請點這裡
Yii 的:請點這裡

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.