php单例数据库,PHP单例数据库连接模式

本文讨论了在PHP中使用单例模式管理MySQL数据库连接的实践。作者实现了一个单例类来初始化和管理数据库连接,并提出了疑问:当网站有大量并发访问时,这种单例模式是否会引发性能问题。作者考虑是否应该使用连接池代替单例,以优化高并发场景下的数据库连接管理。
摘要由CSDN通过智能技术生成

我一直在使用

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访问者,而且每次我的单身对象都会打电话,我是否应该有性能问题?我的意思是,我不应该有一种连接池而不是单身人士吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值