NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
database_pool类 参考

数据库连接池类 更多...

#include <database_pool.hpp>

struct  pool_config
 连接池配置 更多...

Public 成员函数

 database_pool (db_type type, const db_config &config)
 构造函数
 database_pool (db_type type, const db_config &config, const pool_config &pool_config)
 构造函数
 ~database_pool ()
 析构函数
shared_ptr< idb_connectget_connect ()
 获取通用数据库连接
shared_ptr< idb_tb_connectget_tb_connect ()
 获取关系型数据库连接
shared_ptr< idb_kv_connectget_kv_connect ()
 获取键值存储连接
size_t idle_count () const noexcept
 获取空闲连接数
size_t total_count () const noexcept
 获取总连接数
bool is_running () const noexcept
 检查连接池是否正在运行
void stop ()
 停止连接池

详细描述

数据库连接池类

管理数据库连接的生命周期,提供连接的获取和归还功能。 内部维护一个空闲连接队列,支持多线程安全访问。

主要特性:

  • 连接复用,减少连接创建开销
  • 最小/最大连接数配置
  • 空闲连接超时回收
  • 连接健康检查
  • 自动补充连接
  • 获取连接超时控制
  • 支持关系型数据库和键值存储

在文件 database_pool.hpp42 行定义.

构造及析构函数说明

◆ database_pool() [1/2]

database_pool::database_pool ( db_type type,
const db_config & config )
inline

构造函数

参数
type数据库类型
config数据库连接配置

在文件 database_pool.hpp102 行定义.

引用了 database_pool().

被这些函数引用 database_pool() , 以及 ~database_pool().

◆ database_pool() [2/2]

database_pool::database_pool ( db_type type,
const db_config & config,
const pool_config & pool_config )

构造函数

参数
type数据库类型
config数据库连接配置
pool_config连接池配置
异常
database_exception初始化连接失败时抛出

◆ ~database_pool()

database_pool::~database_pool ( )

析构函数

停止所有后台线程,释放所有连接资源。

引用了 database_pool().

成员函数说明

◆ get_connect()

shared_ptr< idb_connect > database_pool::get_connect ( )

获取通用数据库连接

返回
共享指针管理的连接对象

返回基类idb_connect指针,适用于不需要特定类型操作的场景。

◆ get_kv_connect()

shared_ptr< idb_kv_connect > database_pool::get_kv_connect ( )

获取键值存储连接

返回
共享指针管理的连接对象

返回idb_kv_connect指针,支持键值操作。

◆ get_tb_connect()

shared_ptr< idb_tb_connect > database_pool::get_tb_connect ( )

获取关系型数据库连接

返回
共享指针管理的连接对象

返回idb_tb_connect指针,支持SQL查询操作。

◆ idle_count()

size_t database_pool::idle_count ( ) const
noexcept

获取空闲连接数

返回
当前空闲队列中的连接数量

◆ is_running()

bool database_pool::is_running ( ) const
inlinenoexcept

检查连接池是否正在运行

返回
运行中返回true

在文件 database_pool.hpp166 行定义.

引用了 is_running() , 以及 memory_order_acquire.

被这些函数引用 is_running().

◆ stop()

void database_pool::stop ( )

停止连接池

停止所有后台线程,等待当前使用中的连接归还后释放资源。

◆ total_count()

size_t database_pool::total_count ( ) const
noexcept

获取总连接数

返回
当前总连接数(包括使用中和空闲)

引用了 total_count().

被这些函数引用 total_count().


该类的文档由以下文件生成: