我一直在使用
PHP和MysqL开展一个小项目.我已经阅读了很多关于管理连接的最佳实践等等.
我还实现了(在一些帖子后面发现)一个单例类来管理MysqL连接.
require_once 'config.inc.PHP';
class DbConn {
private static $instance;
private $dbConn;
private function __construct() {}
/**
*
* @return DbConn
*/
private static function getInstance(){
if (self::$instance == null){
$className = __CLASS__;
self::$instance = new $className;
}
return self::$instance;
}
/**
*
* @return DbConn
*/
private static function initConnection(){
$db = self::getInstance();
$connConf = getConfigData();
$db->dbConn = new MysqLi($connConf['db_host'],$connConf['db_user'],$connConf['db_pwd'],$connConf['db_name']);
$db->dbConn->set_charset('utf8');
return $db;
}
/**
* @return MysqLi
*/
public static function getDbConn() {
try {
$db = self::initConnection();
return $db->dbConn;
} catch (Exception $ex) {
echo "I was unable to open a connection to the database. " . $ex->getMessage();
return null;
}
}
}
但是……如果我的网站同时拥有10K访问者,而且每次我的单身对象都会打电话,我是否应该有性能问题?我的意思是,我不应该有一种连接池而不是单身人士吗?