[轉]資料庫讀寫分離
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 去進行寫入的動作了..
[轉]資料庫讀寫分離相关推荐
- [心得] 如何利用liquibase進行資料庫版本控制 - 實際練習
透過上一篇的基本觀念介紹,希望大家應該有一點點感覺了! 這篇我們就來做個簡單的版本演練,加深印象吧! 我使用的環境如下 System : Windows 7 Database : SQL Server ...
- mysql hammerdb,[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測
TPC-C 模擬的情境 TPC-C 模擬的情境是一個大型的商品批發商,擁有若干個倉庫,每個倉庫擁有 100000 件商品庫存.負責為 10 個地區供貨,每個地區服務 3000 名客戶,每名客戶平均一筆 ...
- 判斷指定資料庫存取權
-- 判斷具有指定資料庫存取權的相關資訊 USE [master] GO ALTER DATABASE [Test] SET OFFLINE ; -- 設置離線 GO DECLARE @Statu ...
- mysql 遠端,遠端連線 GCE 的 MySQL 資料庫
情境 每次查詢API執行後都得進vm下MySQL指令用CLI看成果? 身為免費仔推薦一個好用的 database GUI : Sequel pro ,可提供本地端與遠端的資料庫連線. 事前準備 連線遠 ...
- FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App
原文:http://www.appcoda.com/fmdb-sqlite-database/ 作者:GABRIEL THEODOROPOULOS 譯者:kmyhy 通常在 App 中使用數據庫并處理 ...
- flask html下拉列表,在Flask框架中,在html做下拉式選單,選完顯示連結MySQL資料庫的資料...
順便寫了ajax版的,主要是javascript的操作. code要寫的稍微多一點,不過這樣可以分離html,而且更靈活. index.py from flask import Flask, rend ...
- MS SQL收縮資料庫
/* 注意,此存儲過程在建在master數據庫中 */ Create proc shrinkdb ( @db_name varchar(100)----數據庫名稱 ) as begin ...
- oracle10g資料庫調效,資料庫 | 簡睿隨筆 | 學習過程的紀錄與備忘
選取月份 2021 年 3 月 (7) 2021 年 2 月 (7) 2021 年 1 月 (7) 2020 年 12 月 (10) 2020 年 11 月 (8) 2020 年 10 月 ...
- SQL Server 的分散式資料複寫技術
作者:楊先民 本頁內容 前言 資料庫複寫(Replication)的介紹與使用時機 如何建置資料庫複寫 複寫代理程式 (Replication Agent) 的功能 複寫的種類與使用的時機 設計一個安 ...
最新文章
- Linux下find命令详情
- linux c socket选项:SO_ERROR
- django中的分页
- OC基础 代理和协议
- SQL Calendar Table
- Percent encode in consulting package
- NET Core微服务之路:实战SkyWalking+Exceptionless体验生产下追踪系统
- php 支付宝付款接口测试
- Lecture 9 Random built Binary Search Trees BSTs
- 数据逻辑讨论计算机,1绪论信息技术算法与程序福建教师招考.ppt
- loot recycler_loot++ - MC百科搜索 - MC百科|最大的Minecraft中文MOD百科
- oracle显示数据中心类异常,Oracle_10g数据库基础教程-参考答案
- 香港学计算机,香港求学计算机专业集锦
- Python发布自己的模块到Pypi
- integer超出范围_BigInteger:可以让超过Integer范围内的数据进行运算
- Dependency, Association, Aggregation Composition的四种区别
- python运维自动化老男孩_老男孩Python高级运维自动化实战 老男孩Python高级运维开发10期 全套Python视频教程下 ......
- 视觉目标跟踪算法收集-实时更新
- STM32F1(Cortex M3内核)存储器映射
- 2017IMO第五题