程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> yii2數據庫讀寫分離配置,yii2數據庫讀寫

yii2數據庫讀寫分離配置,yii2數據庫讀寫

編輯:關於PHP編程

yii2數據庫讀寫分離配置,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的精品文檔點擊此處

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved