zoukankan      html  css  js  c++  java
  • yii2的数据库读写分离配置

    简介

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

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

    配置

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

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

    'db' => [
        'class' => 'yiidbConnection',
        
        // 配置主服务器
        '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从的配置,如果要一主多从,或者多主多从,参考此例以及官方文档即可完成。

    來源:http://www.yii-china.com/doc/yii2-windows.html?id=284

  • 相关阅读:
    解决CollectionView TableView reloadData或者reloadSections时的刷新的闪烁问题
    HTTP请求头
    Fastlane 使用笔记
    python-函数式编程
    python-高级特性
    python基础使用
    python基础-函数02
    python基础-函数01
    python基础
    Linux基础
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/10000988.html
Copyright © 2011-2022 走看看