PHP主從分離分散式處理____PHP

來源:互聯網
上載者:User

所謂的主從分離就是從主要資料庫寫入,從從伺服器讀取資料,不管是一主一從還是一主多從,伺服器都是即時同步的,程式端只需要處理就是寫入在主伺服器寫入,讀取在從伺服器讀取。

一、THINKPHP實現主從分離

THINKPHP支援主從分離,配置起來也很容易

'DB_DEPLOY_TYPE' => 0, // 資料庫部署方式:0 集中式(單一伺服器),1 分布式(主從伺服器)
'DB_RW_SEPARATE' => false, // 資料庫讀寫是否分離 主從式有效
'DB_HOST'='192.168.1.101,192.168.1.102',

'DB_USER'   => 'user1,user2',

'DB_PWD'    => 'pwd1,pwd2',

預設第一台資料庫78是主要資料庫,負責寫入操作,第二台60負責讀操作,Thinkphp 會自動識別讀和寫,然後分配連結對應的資料庫,來達到讀寫分離的效果。

注意事項:
1. 如果要設定分散式資料庫,暫時不支援DB_DSN方式配置。
2.如果你當前採用了分散式資料庫,並且設定了讀寫分離的話,query方法始終是在讀伺服器執行,因此query方法對應的都是讀操作,而不管你的SQL語句是什麼。
3.如果你當前採用了分散式資料庫,並且設定了讀寫分離的話,execute方法始終是在寫伺服器執行,因此execute方法對應的都是寫操作,而不管你的SQL語句是什麼。
因此,'DB_DSN'=> 'mysql:host=192.168.100.60;dbname=51fanli_cang', 這種方式不支援主從分離,需要改。
當採用原生態的sql語句進行寫入操作的時候,要用execute,讀操作要用query,切記,否則亂掉了。

二、ecshop讀寫分離

http://blog.csdn.net/very_loong/article/details/7999895

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.