php进阶到架构之swoole系列教程(三)mysql连接池-

php进阶到架构之swoole系列教程(三)mysql连接池-,第1张

这是关于php进阶到架构之 swoole 系列学习课程:第三节:mysql连接池

学习目标

了解什么是mysql连接池,以及mysql使用场景。能在实际工作使用连接池(数据库连接池,redis连接池等等)解决高并发带来的问题。

场景

每秒同时1000个并发,但mysql数据库同时只支持400个连接,这样mysql就会宕机

解决方案

使用连接池,这个连接池建立了300个与mysql的连接对象,这1000个并发有序地共享连接池里的300个连接。

连接池的使用不但解决了mysql在高并发情况下宕机问题,还额外提高了性能。因为和mysql建立连接,消耗较大。使用连接池只需要连接一次mysql。

永不断开,需要程序常驻内存,这就需要借助swoole实现。

数据库连接池是程序启动时,建立足够的数据库连接,并将这些连接组成一个连接。由程序动态的对连接池中的连接进行申请,使用,释放和回补。

<?php

$mysql_server_name='localhost'

$mysql_username='root'

$mysql_password='12345678'

$mysql_database='mycounter'

$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database)

$sql='CREATE DATABASE mycounter DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

'

mysql_query($sql)

$sql='CREATE TABLE `counter` (`id` INT(255) UNSIGNED NOT NULL AUTO_INCREMENT ,`count` INT(255) UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY ( `id` ) ) TYPE = innodb'

mysql_select_db($mysql_database,$conn)

$result=mysql_query($sql)

//echo $sql

mysql_close($conn)

echo "Hello!数据库mycounter已经成功建立!"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10840838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存