Mysql經(jīng)典的“8小時(shí)問(wèn)題”
假設(shè)你的數(shù)據(jù)庫(kù)是mysql,如果數(shù)據(jù)源配置不當(dāng),將可能發(fā)生經(jīng)典的“8小時(shí)問(wèn)題”。原因是mysql在默認(rèn)情況下,如果發(fā)現(xiàn)一個(gè)連接的空閑時(shí)間超過(guò)8小時(shí),將會(huì)在數(shù)據(jù)庫(kù)端自動(dòng)關(guān)閉這個(gè)連接。而數(shù)據(jù)源并不知道這個(gè)連接已經(jīng)關(guān)閉了,當(dāng)它將這個(gè)無(wú)用的連接返回給某個(gè)dao時(shí),dao就會(huì)報(bào)無(wú)法獲取connection異常。
如果采用dbcp的默認(rèn)配置,由于testOnBorrow屬性的默認(rèn)值是true,數(shù)據(jù)源在將連接交給dao前,會(huì)事先檢測(cè)這個(gè)連接是否是好的,如果連接有問(wèn)題(在數(shù)據(jù)庫(kù)端被關(guān)閉),則會(huì)取一個(gè)其他的連接給dao。所以并不會(huì)有“8小時(shí)問(wèn)題”。如果每次將連接交給dao時(shí)都檢測(cè)連接的有效性,在高并發(fā)的應(yīng)用中將會(huì)帶來(lái)性能的問(wèn)題,因?yàn)樗鼤?huì)需要更多的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)請(qǐng)求。
一種推薦的高效的方式是:將testOnBorrow設(shè)置為false,而將“testWhileIdle”設(shè)置為true,再設(shè)置好testBetweenEvictionRunsMillis值(小于8小時(shí))。那些被mysql關(guān)閉的連接就可以別清除出去,避免“8小時(shí)問(wèn)題”。
當(dāng)然,mysql本身也能調(diào)整interactive-timeout(以秒為單位)配置參數(shù),更改空閑連接的過(guò)期時(shí)間。所以,在設(shè)置timeBetweenEvictionRunsmMillis值時(shí),必須首先獲知mysql的空閑連接的最大過(guò)期時(shí)間。
c3p0對(duì)于有效連接的檢測(cè),請(qǐng)參照dbcp配置方式。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
mysql8.0.11 winx64手動(dòng)安裝配置教程
這篇文章主要為大家詳細(xì)介紹了mysql8.0.11 winx64手動(dòng)安裝配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05JDBC-idea導(dǎo)入mysql連接java的jar包(mac)的方法
這篇文章主要介紹了JDBC-idea導(dǎo)入mysql連接java的jar包(mac)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09mysql仿asp的數(shù)據(jù)庫(kù)操作類(lèi)
本文通過(guò)實(shí)例代碼給大家介紹了mysql仿asp的數(shù)據(jù)庫(kù)操作類(lèi),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2008-04-04MySQL Community Server壓縮包安裝配置方法
這篇文章主要為大家詳細(xì)介紹了MySQL Community Server壓縮包安裝配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11mysql查詢(xún)結(jié)果命令行方式導(dǎo)出/輸出/寫(xiě)入到文件的3種方法舉例
這篇文章主要給大家介紹了關(guān)于mysql查詢(xún)結(jié)果命令行方式導(dǎo)出/輸出/寫(xiě)入到文件的3種方法, 在使用MySQL進(jìn)行數(shù)據(jù)庫(kù)操作的過(guò)程中,我們經(jīng)常需要將查詢(xún)結(jié)果導(dǎo)出到文件中以備后續(xù)分析和處理,需要的朋友可以參考下2023-08-08Mysql數(shù)據(jù)庫(kù)的增刪改查、備份、還原等基本操作大全
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)的增刪改查、備份、還原等基本操作,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06