閱讀294 返回首頁    go 阿裏雲 go 技術社區[雲棲]


數據庫連接池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的郵件列表反饋很及時,在列表中提出的問題,一般一兩天就會

得到官方的工程師的回答

 它的幾個相關網站如下:

https://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

最後更新:2017-04-03 16:59:46

  上一篇:go 創建一個簡單的webapp
  下一篇:go Effective C++ item 01-04 隨筆