yii2数据库读写分离配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2数据库读写分离配置相关的知识,希望对你有一定的参考价值。

原文链接:Yii中文网(yii-china.com)-yii2数据库读写分离配置

简介

数据库读写分离是在网站遇到性能瓶颈的时候最先考虑优化的步骤,那么yii2是如何做数据库读写分离的呢?本节教程来给大家普及一下yii2的数据库读写分离配置。

两个服务器的数据同步是读写分离的前提条件,但这不在yii2读写分离教程内,yii2的数据库读写分离配置,仅仅实现了在主库读写,在从库查询,那么我们首先要配置主从服务器的数据同步。详情查看linux数据库主从同步配置

配置

主从服务器数据库同步完成之后,我们就可以开始yii2的读写分离配置,官方也有这方面的文档,但说的并不清楚,也没有实际的例子,酱油君在这里加以完善。

1.打开我们的数据库配置文件common\config\main-local.php在db属性中做如下配置

‘db‘ => [
    ‘class‘ => ‘yii\db\Connection‘,
    
    // 配置主服务器
    ‘dsn‘ => ‘mysql:host=192.168.0.1;dbname=hyii2‘,
    ‘username‘ => ‘root‘,
    ‘password‘ => ‘root‘,
    ‘charset‘ => ‘utf8‘,
    
    // 配置从服务器
    ‘slaveConfig‘ => [
        ‘username‘ => ‘root‘,
        ‘password‘ => ‘root‘,
        ‘attributes‘ => [
            // use a smaller connection timeout
            PDO::ATTR_TIMEOUT => 10,
        ],
        ‘charset‘ => ‘utf8‘,
    ],
    
    // 配置从服务器组
    ‘slaves‘ => [
            [‘dsn‘ => ‘mysql:host=192.168.0.2;dbname=hyii2‘],
        ],
],

如上配置就能实现yii2数据库读写分离的操作,很简单,只要一个配置就ok了,读写分离的功能由后台代码自动完成.调用者无须关心。

上面只是一个1主1从的配置,如果要一主多从,或者多主多从,参考此例以及官方文档即可完成。

更多关于yii2的精品文档点击此处

以上是关于yii2数据库读写分离配置的主要内容,如果未能解决你的问题,请参考以下文章

YII2中配置MySQL读写分离

mysql主从配置,读写分离

Mysql主从配置,实现读写分离

MySQL+MyCat分库分表 读写分离配置MySQL+MyCat分库分表 读写分离配置

Mysql主从配置,实现读写分离

spring 配置多数据源(mysql读写分离)