数据库连接池libzdb的使用

简介:

   在上一个项目的性能测试中,发现瓶颈主要在对数据库的操作上,原来的系统对数据库操作只有一个连接,而IO操作的效率相对于计算的效率而言简直是一种不可容忍的。所以就产生了在这个项目中使用数据库连接池这种想法。

   由于时间比较紧张,碰巧在网上找到了一个开源的数据库连接池,所以也就诞生了这篇博文。

  当然对于技术实力比较强的团队来说,可以会选择根据自己的需要去自己去做一个连接池。

 首先介绍一下这个libzdb ; 

libzdb的官方说明的特性:

  • Thread safe Database Connection Pool
  • Connect to multiple database systems
  • Zero runtime configuration, connect using a URL scheme
  • Supports MySQL, PostgreSQL, SQLite and Oracle
补充:缺点:不支持window,所以如果要是在windows下开发的时候可能不是很方便,但是libzdb的邮件列表反馈很及时,在列表中提出的问题,一般一两天就会

得到官方的工程师的回答

 它的几个相关网站如下:

http://www.tildeslash.com/libzdb/#     libzdb的offiCal website

  libzdb是由这家公司开发的,所以质量应该可以值得信任

libzdb的代码使用googlecode上代管

        https://code.google.com/p/libzdb/


当时的安装系统是redhatlinux  ,直接下载代码编译安装

./configure;  make ; make install

当时的使用数据库环境为oracle11gr2

基本的使用可以参看源代码中的示例代码,在test目录下,但是


  基本的使用为:

在程序启动的时候,调用url_new 和 connectpool_new来初始化连接池

1、调用 connection_start启动连接池

2、后面的就可以在线程中或者在具体的处理流程中调用getcon来获得连接,进而执行sql语句即可

3、在程序结束的时候要对应调用url_free和connection_pool_free来释放资源

上面就是对libzdb的基本介绍。

欢迎和各位进行交流,email:jiajiama0107@gmail.com

目录
相关文章
|
7月前
|
SQL 网络协议 数据库连接
什么是数据库连接池?为什么需要数据库连接池呢?
什么是数据库连接池?为什么需要数据库连接池呢?
|
网络协议 关系型数据库 MySQL
实现数据库连接池
实现数据库连接池
135 0
|
12天前
|
数据库连接 数据库
数据库连接池
数据库连接池的根本原理其实并不复杂,其原理就是服务器提前准备好一组可以使用的数据库连接,当客户端的请求到达时,如果数据库连接池里有空闲连接的话,就取出一个空闲连接进行数据库操作,如果已没有空闲连接就进入等待。通过这样的数据库连接复用,可以在很大程度上提高服务器的性能,并减轻数据库的负担。
|
2月前
|
SQL 监控 Java
C3P0数据库连接池
C3P0数据库连接池
102 0
|
7月前
|
SQL druid Java
Driud数据库连接池的使用
Driud数据库连接池的使用
85 0
|
6月前
|
SQL 缓存 关系型数据库
数据库连接池到底应该设多大?
数据库连接池到底应该设多大?
307 0
|
7月前
|
SQL druid Java
JDBC&数据库连接池
JDBC&数据库连接池
57 1
|
7月前
|
Java 关系型数据库 MySQL
数据库连接池的实现
数据库连接池的实现
|
Java 关系型数据库 应用服务中间件
数据库连接池对比
数据库连接池对比
|
Java 数据库连接 数据库
一篇文章学会学会c3p0数据库连接池~
一篇文章学会学会c3p0数据库连接池~
272 0