当前位置:Gxlcms > 数据库问题 > Yii2的主从数据库设置

Yii2的主从数据库设置

时间:2021-07-01 10:21:17 帮助过:2人阅读

配置主服务器 ‘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来实现的。

更多详细的可以参考官方文档 http://www.yiichina.com/doc/guide/2.0/db-dao

 

Yii2的主从数据库设置

标签:

人气教程排行