使用Yii2實現讀寫分離(MySQL主從資料庫)
讀寫分離(Read/Write Splitting)。
簡介
資料庫讀寫分離是在網站遇到效能瓶頸的時候最先考慮優化的步驟,那麼yii2是如何做資料庫讀寫分離的呢?本節教程來給大家普及一下yii2的資料庫讀寫分離配置。
兩個伺服器的資料同步是讀寫分離的前提條件,但這不在yii2讀寫分離教程內,yii2的資料庫讀寫分離配置,僅僅實現了在主庫讀寫,在從庫查詢,那麼我們首先要配置主從伺服器的資料同步。詳情檢視linux資料庫主從同步配置
配置
主從伺服器資料庫同步完成之後,我們就可以開始yii2的讀寫分離配置,官方也有這方面的文件,但說的並不清楚,也沒有實際的例子,醬油君在這裡加以完善。1.原理:讓主資料庫(master)處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從資料庫(slave)處理SELECT查詢操作。
2.好處:備份資料庫,分擔資料庫壓力,承受更大的訪問量。
yii實現讀寫分離非常簡單,只需要在配置檔案中寫幾個配置引數即可實現。
1.配置db.php檔案
2.建立兩個資料庫為了演示ip都指向本地的MySQL資料庫,但是資料庫名稱不同,同時在資料庫分別插入一條資料,將slave資料庫的username改成slave。
3.檢視查詢結果
查詢主鍵id為1的那條資料
以下是查詢結果