swoole做mysql连接池的方法

  介绍

小编给大家分享一下swoole做mysql连接池的方法,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

连接池定义:永不断开,要求我们的这个程序是一个常驻内存的程序。数据库连接池(连接池)是程序启   动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。

<>强实现连接池的方法:

同步阻塞模式:

可基于swoole的AsyncTask模块实现的连接池,编程简单,没有数据同步和锁的问题,甚至可以多个服务共享连接池。缺点是:1。灵活性不如多线程连接池,无法动态增减连接2。有一次进程间通信的开销

协程模式:

可使用通道实现连接池。

创建10个mysql连接示例代码:

& lt; php ?/* *   ,* Created  by  PhpStorm。   ,*用户:管理员   ,*日期:2018/11/20   *大敌;时间:14:12   ,*///编写mysql连接池,这个类只能被实例化一次(单例)   class  MysqlConnectionPool   {   ,,,private  static 实例;美元//单例对象   ,,,private  connection_num 美元;=,10;//连接数量   ,,,private  connection_obj 美元;=,[];      ,,,//构造方法连接mysql,创建20 mysql连接   ,,,private  function  __construct ()   ,,,{   ,,,,,,,,(i=0; i<美元;这美元→connection_num;美元我+ +){   ,,,,,,,,,,,dsn 美元;=,“mysql:主机=127.0.0.1;dbnane=swoole";   ,,,,,,,,,,,这个→美元connection_obj [],=,, new  Pdo (dsn美元,& # 39;根# 39;,& # 39;rootmysql123& # 39;);   ,,,,,,,}   ,,,}   ,,,private  function  __clone ()   ,,,{   ,,,,,,,//,待办事项:,Implement  __clone(),方法。   ,,,}   ,,,public  static  function  getInstance ()   ,,,{   ,,,,,,,如果(is_null (self:: $)) {   ,,,,,,,,,,,self:: $ instance =, new 自我();   ,,,,,,,}   ,,,}   }   MysqlConnectionPool: getInstance ();//创建swool的http服务器对象   $ serv =, new  swoole_http_server (& # 39; 0.0.0.0 # 39;, 8000);//当浏览器链接点这个http服务器的时候,向浏览器发送helloworld   服务→美元(& # 39;请求# 39;,,函数(请求,响应美元){   ,,,//美元请求包含这个请求的所有信息,比如参数   ,,,//$响应包含返回给浏览器的所有信息,比如helloworld      ,,,//(2.3)向浏览器发送helloworld   ,,,反应→美元结束(“hello  world");   });//启动http服务器   美元服务→开始();

效果

 swoole做mysql连接池的方法

看完了这篇文章,相信你对“swoole做mysql连接池的方法”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

swoole做mysql连接池的方法