文档章节

数据库连接池libzdb的使用

to_be_better
 to_be_better
发布于 2014/12/20 22:25
字数 524
阅读 212
收藏 1

   在上一个项目的性能测试中,发现瓶颈主要在对数据库的操作上,原来的系统对数据库操作只有一个连接,而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

© 著作权归作者所有

下一篇: sql学习
to_be_better

to_be_better

粉丝 7
博文 64
码字总数 42038
作品 0
郑州
程序员
私信 提问
数据库连接池libzdb的使用

为什么使用数据库连接池 在系统中频繁的对数据库进行操作,就需要对数据库的操作方式进行考虑,因为数据库是IO操作,而IO操作是比较容易成为瓶颈的。 libzdb 简介 恰好在oschina看到了开源的...

to_be_better
2013/09/08
1K
0
libzdb 3.0 发布,C语言的连接池

libzdb 3.0 发布,此版本是添加了对 Date,Time 和 Timestamp 的支持。 Libzdb 实现了一个小型、快速和易用的线程安全的连接池数据库API,可连接多种数据库,零配置,通过URL指定连接信息。...

oschina
2014/01/07
2.4K
2
libzdb 2.10 发布,C语言的连接池

Libzdb 实现了一个小型、快速和易用的线程安全的连接池数据库API,可连接多种数据库,零配置,通过URL指定连接信息。 从 2.10 版本开始 libzdb 便通知兼容 C++ 和 Objective-C 项目。...

红薯
2011/10/30
1K
2
C++哪里有真正可用的数据库连接池?

C++哪里有真正可用的数据库连接池?要在Linux中运行。 我找了好几个包括libzdb-3.0,但都用不了。

郭大侠
2014/08/04
879
1
通过libzdb连接数据库

一.引用博客一些用法介绍: Libzdb挺强大, 支持MySQL Oracle SQLite PostgreSQL,支持C和C++ Object C,不能在Window下用(看源码是因为基于Linux线程机制编写实现)。 遗憾的是找个资料太费...

Splace
2016/06/22
295
0

没有更多内容

加载失败,请刷新页面

加载更多

总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
45分钟前
4
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
49分钟前
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0
JAVA 利用时间戳来判断TOKEN是否过期

import java.time.Instant;import java.time.LocalDateTime;import java.time.ZoneId;import java.time.ZoneOffset;import java.time.format.DateTimeFormatter;/** * @descri......

huangkejie
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部