日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[轉]資料庫讀寫分離

發布時間:2025/5/22 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [轉]資料庫讀寫分離 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From : http://blog.darkhero.net/archives/288

當系統越來越大的時候…
資料庫的負擔也會越來越大..這時候通常都會靠讀寫分離來讓系統更穩定. 讓資料庫更有效率…

在 CakePHP 可以靠下面的設定輕鬆達到…

database.php 的設定中..
[code]<?php
class DATABASE_CONFIG {

?? ?public $default = array(
?? ??? ?'driver' => 'mysql',
?? ??? ?'persistent' => false,
?? ??? ?'host' => '192.160.1.110',
?? ??? ?'port' => '',
?? ??? ?'login' => 'root',
?? ??? ?'password' => '1234',
?? ??? ?'database' => 'cakephp',
?? ??? ?'schema' => '',
?? ??? ?'prefix' => '',
?? ??? ?'encoding' => 'UTF8'
?? ?);
?? ?
?? ?public $master = array(
?? ??? ?'driver' => 'mysql',
?? ??? ?'persistent' => false,
?? ??? ?'host' => '192.168.1.100',
?? ??? ?'port' => '',
?? ??? ?'login' => 'root',
?? ??? ?'password' => '',
?? ??? ?'database' => 'cakephp',
?? ??? ?'schema' => '',
?? ??? ?'prefix' => '',
?? ??? ?'encoding' => 'UTF8'
?? ?);
?? ?
}
?>[/code]
先在 database 加入主要負責寫入的 master 主機…而一般負責讀取的主機就放在 default .

然後在 app_model.php 加入下面的處理…
[code]<?php
class AppModel extends Model {
?? ?function beforeSave() {
?? ??? ?$this->useDbConfig = 'master';
?? ?}
?? ?
?? ?function afterSave() {
?? ??? ?$this->useDbConfig = 'default';
?? ?}
?? ?
?? ?function beforeDelete() {
?? ??? ?$this->useDbConfig = 'master';
?? ?}
?? ?
?? ?function afterDelete() {
?? ??? ?$this->useDbConfig = 'default';
?? ?}
}
?>
[/code]

這樣在實際執行的時候就會在寫入資料的時候自動切換到 $master 去進行寫入的動作了..

總結

以上是生活随笔為你收集整理的[轉]資料庫讀寫分離的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。