thinkphp多數據庫連接:分佈式數據庫支持


'DB_DEPLOY_TYPE' =>1, //配置主從數據庫連接

    分佈式數據庫支持

ThinkPHP的模型支持主從式數據庫的連接,配置DB_DEPLOY_TYPE 爲1 可以採用分佈式數據庫支持。
如果採用分佈式數據庫,定義數據庫配置信息的方式如下:

代碼: 複製內容到剪貼板// 在項目配置文件裏面定義Return array(
'DB_TYPE'=> 'mysql', // 分佈式數據庫的類型必須相同
'DB_HOST'=> '192.168.0.1,192.168.0.2',
'DB_NAME'=>'thinkphp', // 如果相同可以不用定義多個
'DB_USER'=>'user1,user2', 
'DB_PWD'=>'pwd1,pwd2', 
'DB_PORT'=>'3306',
'DB_PREFIX'=>'think',
…… 其它項目配置參數
);連接的數據庫個數取決於DB_HOST定義的數量,所以即使是兩個相同的IP也需要重複定義,但是其他的參數如果存在相同的可以不用重複定義,例如:代碼: 複製內容到剪貼板'DB_PORT'=>'3306,3306' 和 'DB_PORT'=>'3306' 等效代碼: 複製內容到剪貼板'DB_USER'=>'user1', 
'DB_PWD'=>'pwd1', 

'DB_USER'=>'user1,user1', 
'DB_PWD'=>'pwd1,pwd1',等效。
還可以設置分佈式數據庫的讀寫是否分離,默認的情況下讀寫不分離,也就是每臺服務器都可以進行讀寫操作,對於主從式數據庫而言,需要設置讀寫分離,通過下面的設置就可以: 代碼: 複製內容到剪貼板'DB_RW_SEPARATE'=>true,在讀寫分離的情況下,第一個數據庫配置是主服務器的配置信息,負責寫入數據,其它的都是從數據庫的配置信息,負責讀取數據,數量不限制。每次連接從服務器並且進行讀取操作的時候,系統會隨機進行在從服務器中選擇。

注意事項
主從數據庫的數據同步工作不在框架實現,需要數據庫考慮自身的同步或者複製機制。
發佈了22 篇原創文章 · 獲贊 3 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章