<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一個比 c3p0 快200倍的數(shù)據(jù)庫連接池,這么牛?

          共 1251字,需瀏覽 3分鐘

           ·

          2021-01-17 14:29

          程序員的成長之路
          互聯(lián)網(wǎng)/程序員/技術/資料共享?
          關注


          閱讀本文大概需要 2 分鐘。

          來自:網(wǎng)絡

          什么是數(shù)據(jù)庫連接池
          連接池是一種常用的技術,為什么需要連接池呢?這個需要從TCP說起。假如我們的服務器跟數(shù)據(jù)庫沒有部署在同一臺機器,那么,服務器每次查詢數(shù)據(jù)庫都要先建立連接,一般都是TCP鏈接,建立連接就需要3次握手了,假設后臺服務跟數(shù)據(jù)庫的單程的訪問時間需要10ms,那么光是建立連接就花了30ms,并且TCP還有慢啟動的機制,實際上一次查詢可能還不止1次TCP來回,查詢效率就會大大降低。

          為什么需要連接池

          為了解決上述問題,我們就需要維護一些長鏈接,這樣就不用每次都去建立連接,畢竟建立連接除了占用時間,還需要一些其他的系統(tǒng)資源。另外的好處,連接池讓我們更加容易地管理,一方面是可以避免數(shù)據(jù)庫資源都被某幾個API占據(jù),另一方面也可以避免資源泄露。

          什么是HikariCP

          HikariCP 數(shù)據(jù)庫連接池組件,代碼非常輕量,并且速度非常的快。根據(jù)官方提供的數(shù)據(jù),在i7,開啟32個線程32個連接的情況下,進行隨機數(shù)據(jù)庫讀寫操作,HikariCP的速度是現(xiàn)在常用的C3P0數(shù)據(jù)庫連接池的數(shù)百倍。在SpringBoot2.0中,官方也是推薦使用HikariCP。

          為什么HikariCP會那么快

          1.字節(jié)碼更加精簡,所以可以加載更多代碼到緩存。
          2.實現(xiàn)了一個無鎖的集合類型,來減少并發(fā)造成的資源競爭。
          3.使用了自定義的數(shù)組類型,相對與ArrayList極大地提升了性能。
          4.針對CPU的時間片算法進行優(yōu)化,盡可能在一個時間片里面完成各種操作。

          與Druid對比

          在github上有網(wǎng)友貼出了阿里巴巴Druid與hikari的對比,認為hikari在性能上是完全秒殺阿里巴巴的Druid連接池的。對此,阿里的工程師也做了一定的回應,說Druid的性能稍微差點是鎖機制的不同,并且Druid提供了更豐富的功能,兩者的側重點不一樣。

          如何選擇:

          選擇哪一款就見仁見智了,不過兩款都是開源產品,阿里的Druid有中文的開源社區(qū),交流起來更加方便,并且經(jīng)過阿里多個系統(tǒng)的實驗,想必也是非常的穩(wěn)定,而Hikari是SpringBoot2.0默認的連接池,全世界使用范圍也非常廣,對于大部分業(yè)務來說,使用哪一款都是差不多的,畢竟性能瓶頸一般都不在連接池。大家可根據(jù)自己的喜好自由選擇。

          推薦閱讀:

          騷操作 !IDEA 防止寫代碼沉迷插件 !

          電商系統(tǒng)中API接口防止參數(shù)篡改和重放攻擊(小程序/APP)

          5T技術資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內回復「2048」,即可免費獲取!!

          微信掃描二維碼,關注我的公眾號

          朕已閱?

          瀏覽 97
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  粉嫩护士小泬18p | 精品无人区一区 | 请搜索亚洲家庭乱伦 | 久久性爱大片 | 国产人人干 |