天涯论坛

 找回密码
 立即注册
搜索
查看: 101|回复: 8

php实现mysql连接池效果实现代码

[复制链接]

2993

主题

220

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99099166
发表于 2024-7-10 17:50:53 | 显示全部楼层 |阅读模式

循环从mysql连接池中获取连接,不必须重复创建新的连接。

参考配置修改:能够参考下面的文案

防止拜访量过大,把连接数占满了

<?php

/**

* @author xuleyan

* @title mysql类

*/

class DbHelper{

//连接池

private $_pools = [];

//连接池体积

const POOLSIZE = 5;

const USERNAME = "root";

const PASSWORD = "root";

const HOST = "127.0.0.1";

const DB = "test";

public function __construct()

{

$db = self:B;

$username = self::USERNAME;

$password = self:ASSWORD;

$host = self::HOST;

//持久化连接

$presistent = array(PDO::ATTR_PERSISTENT => true);

for ($i=0; $i < self:OOLSIZE; $i++) {

$connection = new PDO("mysql:dbname=$db;host=$host", $username, $password);

// sleep(3);

array_push($this->_pools, $connection);

}

}

//从数据库连接池中获取一个数据库链接资源

public function getConnection()

{

echo get . count($this->_pools) . "<br>";

if (count($this->_pools) > 0) {

$one = array_pop($this->_pools);

echo getAfter . count($this->_pools) . "<br>";

return $one;

} else {

throw new ErrorException ( "<mark>数据库连接池中已链接资源,请稍后重试!</mark>" );

}

}

//将用完的数据库链接资源放回到数据库连接池

public function release($conn)

{

echo release . count($this->_pools) . "<br>";

if (count($this->_pools) >= self:OOLSIZE) {

throw new ErrorException ( "<mark>数据库连接池已满!</mark>" );

} else {

array_push($this->_pools, $conn);

// $conn = null;

echo releaseAfter . count($this->_pools) . "<br>";

}

}

public function query($sql)

{

try {

$conn = $this->getConnection();

$res = $conn->query($sql);

$this->release($conn);

return $res;

} catch (ErrorException $e) {

print error: . $e->getMessage();

die;

}

}

public function queryAll($sql)

{

try {

$conn = $this->getConnection();

$sth = $conn->prepare($sql);

$sth->execute();

$result = $sth->fetchAll();

return $result;

} catch (PDOException $e) {

print error: . $e->getMessage();

die;

}

}

}

另一的文件这般调用

<?php

require_once db.php;

$sql = select * from user;

$dbhelper = new DbHelper;

f





上一篇:人力资源是什么意思,人力资源怎么报白,人力资源报白的办法过程是怎么样的
下一篇:基于swoole扩展实现真正的PHP数据库连接池
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-8-25 15:52:54 | 显示全部楼层
回顾历史,我们感慨万千;放眼未来,我们信心百倍。
回复

使用道具 举报

1

主题

886

回帖

-3

积分

限制会员

积分
-3
发表于 2024-8-28 08:53:03 | 显示全部楼层
真情实感,其含义为认真了、走心了的意思,是如今的饭圈常用语。
回复

使用道具 举报

8

主题

592

回帖

-19

积分

限制会员

积分
-19
发表于 2024-9-9 16:21:04 | 显示全部楼层
外贸网站建设方法 http://www.fok120.com/
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-10 08:03:00 | 显示全部楼层
论坛外链网  http://www.fok120.com/
回复

使用道具 举报

3132

主题

2万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968646
发表于 2024-10-28 06:33:44 | 显示全部楼层
一看到楼主的气势,我就觉得楼主同在社区里灌水。
回复

使用道具 举报

3057

主题

2万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139068
发表于 2024-10-30 21:29:48 | 显示全部楼层
我赞同你的看法,你的智慧让人佩服,谢谢分享。
回复

使用道具 举报

3132

主题

2万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968646
发表于 2024-11-1 12:08:33 | 显示全部楼层
你的话深深触动了我,仿佛说出了我心里的声音。
回复

使用道具 举报

3042

主题

2万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065870
发表于 前天 21:34 | 显示全部楼层
你的见解独到,让我受益匪浅,非常感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-22 11:37 , Processed in 0.312180 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.