阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Yii2的主从数据库设置

116次阅读
没有评论

共计 1561 个字符,预计需要花费 4 分钟才能阅读完成。

项目做大了,数据库主从还是不可少的。使用 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 内联脚本载入失败的问题 http://www.linuxidc.com/Linux/2016-03/128949.htm

Yii2 实现修改密码功能 http://www.linuxidc.com/Linux/2015-07/120137.htm

Yii 用户登陆机制  http://www.linuxidc.com/Linux/2015-01/111602.htm

Yii 中引入 js 和 css 文件  http://www.linuxidc.com/Linux/2015-01/111603.htm

Yii 不完全解决方案  http://www.linuxidc.com/Linux/2015-01/111606.htm

Yii CGridView 基本使用 http://www.linuxidc.com/Linux/2015-01/111607.htm

Yii 框架分布式缓存的实现方案 http://www.linuxidc.com/Linux/2015-02/113828.htm

Yii 的详细介绍 :请点这里
Yii 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-06/132339.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1561字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中