<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ThinkPHP內置了分布式數據庫的支持,包括主從式數據庫的讀寫分離,但是分布式數據庫必須是相同的數據庫類型。 配置`database.deploy` 為1 可以采用分布式數據庫支持。如果采用分布式數據庫,定義數據庫配置信息的方式如下: ~~~ //分布式數據庫配置定義 return [ // 啟用分布式數據庫 'deploy' => 1, // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '192.168.1.1,192.168.1.2', // 數據庫名 'database' => 'demo', // 數據庫用戶名 'username' => 'root', // 數據庫密碼 'password' => '', // 數據庫連接端口 'hostport' => '', ] ~~~ 連接的數據庫個數取決于`hostname`定義的數量,所以即使是兩個相同的IP也需要重復定義,但是其他的參數如果存在相同的可以不用重復定義,例如: ~~~ 'hostport'=>'3306,3306' ~~~ 和 ~~~ 'hostport'=>'3306' ~~~ 等效。 ~~~ 'username'=>'user1', 'password'=>'pwd1', ~~~ 和 ~~~ 'username'=>'user1,user1', 'password'=>'pwd1,pwd1', ~~~ 等效。 還可以設置分布式數據庫的讀寫是否分離,默認的情況下讀寫不分離,也就是每臺服務器都可以進行讀寫操作,對于主從式數據庫而言,需要設置讀寫分離,通過下面的設置就可以: ~~~ 'rw_separate' => true, ~~~ 在讀寫分離的情況下,默認第一個數據庫配置是主服務器的配置信息,負責寫入數據,如果設置了`master_num`參數,則可以支持多個主服務器寫入。其它的都是從數據庫的配置信息,負責讀取數據,數量不限制。每次連接從服務器并且進行讀取操作的時候,系統會隨機進行在從服務器中選擇。 還可以設置`slave_no` 指定某個服務器進行讀操作。 > 如果從數據庫連接錯誤,會自動切換到主數據庫連接。 調用模型的CURD操作的話,系統會自動判斷當前執行的方法的讀操作還是寫操作,如果你用的是原生SQL,那么需要注意系統的默認規則: **寫操作必須用模型的execute方法,讀操作必須用模型的query方法**,否則會發生主從讀寫錯亂的情況。 > 注意:主從數據庫的數據同步工作不在框架實現,需要數據庫考慮自身的同步或者復制機制。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看