Skip to content

Instantly share code, notes, and snippets.

@diegostamigni
Created May 28, 2013 20:59
Show Gist options
  • Save diegostamigni/5666082 to your computer and use it in GitHub Desktop.
Save diegostamigni/5666082 to your computer and use it in GitHub Desktop.
MySQL Pool Maste/Slave
class DB {
private static $cfg = array(
'write' =>
array('mysql:dbname=MyDB;host=10.1.2.3'),
'read' =>
array('mysql:dbname=MyDB;host=10.1.2.7',
'mysql:dbname=MyDB;host=10.1.2.8',
'mysql:dbname=MyDB;host=10.1.2.9');
);
public static function getConnection($pool) {
$max = count(self::$cfg[$pool]) - 1;
$dsn = self::$cfg[$pool][mt_rand(0, $max)];
return new PDO($dsn, USER, PASS);
}
}
$db = DB::getConnection('read');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment