当前位置:网站首页 > R语言数据分析 > 正文

druid连接池配置多少合适(druid连接池配置详解 maxactive)



  • 在魔兽世界中数据库使用mysql来存储,并且数据库模块是直接嵌入在server中,并没有单独的DB server
  • 有两种连接池,一种是同步,一种是异步
  • 连接池相关源码目录: TrinityCore-mastersrcserverdatabaseDatabase
  • 连接池具体文件: DatabaseWorkerPool.h DatabaseWorkerPool.cpp

连接池中的一些类

img

  • 一个模板类,提供了四个类,代表魔兽世界四个数据库连接池
 

异步连接池类型

同步连接池类型

 

线程池任务队列

连接池(同步连接池和异步连接池用这一个),异步连接池下标为0,同步连接池下标为1.

EFY76IoJjPlHayx

存储数据库信息

 

:预加载sql语句数量,与业务有关,实现存储的sql语句

:异步线程池的线程数量

:同步线程池的线程数量

 

初始化构造函数

创建连接池对象以及清零线程池数量

 

析构函数

 

SetConnectionInfo 设置数据库信息以及连接池数量

 

创建一条指定的连接

 

open 初始化连接池

初始化连接池,生成指定数量的同步和异步mysql连接加入连接池

 

close 关闭连接

关闭所有的同步连接以及异步连接

 

GetFreeConnection获取一条空闲连接

 

DatabaseWorkerPool.h

 

头文件包含和模板参数

  1. 头文件包含
    • 包含了必要的头文件,如 , , 和 ,这些文件可能定义了数据类型和一些通用函数。
    • 使用了 STL 库如 , , 和 。
  2. 模板参数
    • :由于 是一个模板类,因此可以为不同的数据库连接类型提供通用接口。

私有成员与公共接口

  1. 私有成员
    • :一个枚举类,用于指定连接池的类型(异步和同步连接)。
    • :一个智能指针,指向任务队列,使用生产者-消费者模型处理 SQL 操作
    • :存储同步和异步数据库连接的向量数组。
    • : 存储数据库连接信息的智能指针。
    • : 用于存储预先加载的 SQL 语句数量的向量。
    • 和 : 记录异步和同步的线程数量。

主要功能

  1. 构造与析构
    • :构造函数,用于初始化对象。
    • :析构函数,用于清理资源。
  2. 连接信息与管理
    • :设置数据库连接的信息和线程数量。
    • :初始化连接池,生成指定数量的连接。
    • :销毁连接池中的所有连接。
  3. 执行 SQL 操作
    • :将 SQL 语句排入任务队列以进行异步执行。
    • :同步执行 SQL 语句,调用线程将被阻塞,直到执行完成。
    • :执行 SQL 查询并返回结果,阻塞模式。
  4. 预处理语句
    • :准备所有预处理语句,以备后续使用。
    • :获取指定索引的预处理语句。
  5. 事务管理
    • :开始一个新的事务。
    • :提交事务。
  6. 异步与同步查询
    • 和 :提供异步方式处理查询与事务的功能。

辅助方法

  • 字符串转义
    • :用于对字符串进行 SQL 转义。
  • 保持连接活跃
    • :保持数据库连接活跃,防止服务器断开与我们的连接。

调试和警告

  • :在调试模式下,可以通过 方法设置是否警告同步查询。
到此这篇druid连接池配置多少合适(druid连接池配置详解 maxactive)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • swagger2默认地址(swagger2配置文件)2025-04-07 09:36:08
  • redhat安装教程vmware(red hat如何安装vmware tools)2025-04-07 09:36:08
  • nrm安装失败(nmm安装过程中出现问题)2025-04-07 09:36:08
  • oracle官方文档中文版 pdf(oracle11g官方文档中文版)2025-04-07 09:36:08
  • 怎么保存为py文件(pycharm怎么保存为py文件)2025-04-07 09:36:08
  • druid是什么意思中文(fluid是什么意思)2025-04-07 09:36:08
  • top18女rapper歌词(rapper 女)2025-04-07 09:36:08
  • 文件比较工具 beyond compare使用(beyond compare比较文件夹内容)2025-04-07 09:36:08
  • swagger-ui访问不到(swagger不能访问)2025-04-07 09:36:08
  • redhat u盘(redhat u盘挂载)2025-04-07 09:36:08
  • 全屏图片