1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 1251字,需瀏覽 3分鐘

         ·

        2021-01-17 14:29

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


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

        來自:網(wǎng)絡(luò)

        什么是數(shù)據(jù)庫連接池
        連接池是一種常用的技術(shù),為什么需要連接池呢?這個需要從TCP說起。假如我們的服務(wù)器跟數(shù)據(jù)庫沒有部署在同一臺機器,那么,服務(wù)器每次查詢數(shù)據(jù)庫都要先建立連接,一般都是TCP鏈接,建立連接就需要3次握手了,假設(shè)后臺服務(wù)跟數(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連接池的。對此,阿里的工程師也做了一定的回應(yīng),說Druid的性能稍微差點是鎖機制的不同,并且Druid提供了更豐富的功能,兩者的側(cè)重點不一樣。

        如何選擇:

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

        推薦閱讀:

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

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

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

        微信掃描二維碼,關(guān)注我的公眾號

        朕已閱?

        瀏覽 97
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            公交车艳妇系列1一40 | 少妇疯狂做受xxxx高潮台湾 | 人人爱操 | 大香蕉社区 | 久久开心激情网 | 男人用嘴舔女人下身免费视频 | 影音先锋成人网 | 日韩在线三级 | 日韩成人AV电影在线观看 | 水蜜桃在线视频 |