av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

node.js - Node中如何正確使用MySQL的連接池?

瀏覽:117日期:2022-06-16 16:22:05

問題描述

在學習NodeJs連接數據庫做處理時(用的node-mysql庫),書中建議使用連接池的方式管理connection,說是可以降低開銷。但是具體如何在生產環境中使用,沒有給出更多的說明。所以我產生了如下疑問:我到底該在什么情況下創建一個連接池?

想法1:在web服務器啟動之后收到第一個數據庫連接請求時,就創建一個連接池,然后它就一直存在,當有需要用到數據庫的時候,就從連接池中拿出來使用。直到下一次服務器重啟,連接池才會被關閉。

想法2:在處理一個業務請求時時,創建一個連接池,當業務處理完之后就關掉。比如當收到一個用戶的請求,我們要連接數據庫進行N次查詢和N次修改時,建立一個連接池,當這個業務處理完之后,就關閉這個連接池。不過,如果一下子有N個用戶發出請求,就需要同時創建多個連接池,總感覺哪里乖乖的。

官方文檔也沒有寫這些東西。請問,具體該怎么辦呢?如果有更詳細講解這個話題的文章,多謝分享。謝謝

問題解答

回答1:

謝謝邀請。1.之所以用連接池,是因為頻繁的建立、關閉連接,會極大的減低系統的性能。2.對于你的想法1,第一個請求過來創建連接池貌似挺好的,但是你的系統在第一次就有多個用戶同時請求時,你還來不及創建就要調用,這就出現了問題。所以建議在系統開啟的時候就創建。3.想法2,違背了為什么我們使用連接池的目的,頻繁的連接,關閉。

回答2:

基本是第一種的意思。連接池的目的就是減少數據庫連接的創建,所以當然是不關閉的啦。然后稱為池是因為它是一種緩沖機制。比如這個池里一開始是空的,來了一個請求,就創建一個連接交出去,用完了就還到這個池里,再來請求的時候,又能借出去了。那這時候如果又來一個請求,之前的連接還沒換回來,池是空的,就需要再創建一個連接了,等大家都用完還回來,池里就有兩個連接了。總結就是,如果池是空的,那就創建一個新連接借出去,不然就從池里拿一個連接借出去。當然你也可以設置池的連接數上限,或者在連接一段時間都沒有被使用的情況下銷毀等等。

相關文章:
主站蜘蛛池模板: 亚洲国产一区二区三区在线观看 | 国产精品96久久久久久 | 99久久精品国产一区二区三区 | 成人免费av | 国产日韩欧美91 | 国产成人在线视频播放 | 秋霞精品| 日本精品网站 | 亚洲欧美日韩精品久久亚洲区 | 国产免费一区二区三区网站免费 | 日韩一二区 | 久久精品欧美一区二区三区麻豆 | 狠狠色综合网站久久久久久久 | 亚洲 欧美 日韩在线 | 日日夜夜免费精品 | 亚洲www| 亚洲一区二区三区免费观看 | 99reav | 91在线影院| 欧美久久精品一级c片 | 精品一区二区三区中文字幕 | 国产精品日韩欧美一区二区三区 | 99re在线视频 | 国产一区 | 欧美1区 | 国产高清一二三区 | 激情91 | 久久综合狠狠综合久久综合88 | 中文字幕免费在线观看 | 99精品久久 | 精品国产免费人成在线观看 | 久久久久国产一区二区三区四区 | 亚洲视频免费观看 | 成人国产精品 | 欧美成人自拍视频 | 日韩视频 中文字幕 | 国产精品一区二区在线播放 | 久久国产精品99久久久大便 | 97久久久久久 | 欧美一级二级在线观看 | 暖暖成人免费视频 |