首页 > 其他分享 >swoole 连接池

swoole 连接池

时间:2024-08-21 14:15:02浏览次数:6  
标签:0.0 Swoole res swoole pdo sql type 连接池

declare(strict_types=1);

//引入
use Swoole\Coroutine;
use Swoole\Database\PDOConfig;
use Swoole\Database\PDOPool;
use Swoole\Runtime;


protected $pool = null;
public function __construct(){
//配置链接池
//创建WebSocket Server对象,监听0.0.0.0:9307端口。
        $ws = new \Swoole\WebSocket\Server('0.0.0.0', 9308);
        $this->pool = new PDOPool((new PDOConfig)
            ->withHost('***’)
            ->withPort(3306)
            // ->withUnixSocket('/tmp/mysql.sock')
            ->withDbName('***')
            ->withCharset('utf8mb4')
            ->withUsername('***')
            ->withPassword('***')
        );
}



//执行sql语句
    public function pdo($sql = '', $type = 'find')
    {
        $pdo = $this->pool->get();
        if ($type == 'select') {
            $type = 'fetchAll';
        } elseif ($type == 'find') {
            $type = 'fetch';
        } else {
            $res = $pdo->prepare($sql)->execute();
        }
        switch ($type) {
            case 'fetchAll':
                $res = $pdo->query($sql)->fetchAll();
                break;
            case 'fetch':
                $res = $pdo->query($sql)->fetch();
                break;
        }
        $this->pool->put($pdo);
        if ($res) {
            return $res;
        }
        return false;
    }

 

标签:0.0,Swoole,res,swoole,pdo,sql,type,连接池
From: https://www.cnblogs.com/dream-meng/p/18371491

相关文章

  • 记 Druid 连接池配置不当引发的服务卡慢宕机问题
    背景单体服务部署到Tomcat之后,运行一段时间,出现系统响应超时的情况。重启服务后正常,一段时间后重新出现。排查查看CPU信息发现正常,打开jvisualvm,发现线程数持续上升,且没有下降趋势,此时初步判断系统在某个地方卡住了,请求进来后处理任务的线程都处于等待状态。在jvisualvm......
  • Spring Boot应用的数据库连接池管理
    SpringBoot应用的数据库连接池管理大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!数据库连接池是SpringBoot应用与数据库交互的重要组成部分,它帮助应用管理数据库连接,提高资源利用率和系统性能。SpringBoot内置了对多种数据库连接池的支持,包括Hik......
  • 单体应用提高性能和处理高并发-资源管理连接池
    在单体应用中,资源管理是提高性能和处理高并发的重要方面。资源管理通常涉及到数据库连接、线程管理等,这些资源如果管理不当,会导致系统性能下降甚至崩溃。连接池和线程池是两个常用的资源管理手段,能够显著提高资源的复用性,减少频繁创建和销毁资源的开销。1.数据库连接池数据......
  • 如何把Connection 封装到工具类里面 调用工具类方法实现 增删改查操作 java JDBC
    如何把Connection封装到工具类里面调用工具类方法实现增删改查操作javaJDBC使用数据库连接池以HikariCP为例在JDBC中,使用数据库连接池是一个常见的做法,以提高数据库操作的效率和性能。连接池管理着一组数据库连接,这些连接可以被重用而不是每次需要时都创建新的连接。......
  • 如何把Connection 封装到工具类里面 调用工具类方法实现 增删改查操作 java JDBC使用
    如何把Connection封装到工具类里面调用工具类方法实现增删改查操作javaJDBC使用C3P0数据库连接池答:当使用C3P0作为数据库连接池时,你可以按照类似的模式来配置和使用它。以下是一个示例,展示了如何在Java项目中配置C3P0连接池,并创建一个工具类来管理数据库连接和执行基本的......
  • 【c++】Linux MySQL连接池
    #ifndefMYSQLCONNECTION_H#defineMYSQLCONNECTION_H#include<iostream>#include<mysql.h>#include<vector>classMySQLConnection{public: ///<summary> ///初始化连接 ///</summary> MySQLConnection(); MySQLConnection(MySQ......
  • Mybatis实战:#{} 和 ${}的使用区别和数据库连接池
    一.#{}和${}#{}和${}在MyBatis框架中都是用于SQL语句中参数替换的标记,但它们在使用方式和处理参数值上存在一些显著的区别。#{}的作用:#{}是MyBatis中用于预编译SQL语句的参数占位符。它会将参数值放入一个预编译的PreparedStatement中,确保参数值被正确地转义和引用,从......
  • druid数据库连接池在使用中遇到的一些问题和说明
    getconnectiontimeoutretry:12024-02-0611:18:26.364ERROR23752---[eate-1838225797]com.alibaba.druid.pool.DruidDataSource:createconnectionSQLException,url:jdbc:oracle:thin:@192.168.66.88:1521:orcl,errorCode17002,state08006有正在执行的SQL......
  • java  mysql  数据库连接池,使用C3P0 的案例
    问:java mysql 数据库连接池,使用C3P0的案例答:当然有C3P0作为JavaMySQL数据库连接池的案例。C3P0是一个开源的JDBC连接池库,它具有连接池管理、连接池监控等功能,可以提高数据库连接的效率和性能。以下是使用C3P0连接MySQL数据库的一个案例:1.添加C3P0依赖首先,你需要在你......
  • 连接池:Memcached的效率倍增器
    连接池:Memcached的效率倍增器在现代应用架构中,Memcached作为一项关键的缓存技术,其性能直接关系到整个系统的响应速度和扩展能力。Memcached的连接池机制是优化资源使用、提升并发访问效率的重要手段。本文将深入探讨Memcached连接池的工作原理,并展示如何通过代码实现和管理......