真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)庫(kù)連接池

用戶(hù)每次請(qǐng)求都需要向數(shù)據(jù)庫(kù)獲得鏈接,而數(shù)據(jù)庫(kù)創(chuàng)建連接通常需要消耗相對(duì)較大的資源,創(chuàng)建時(shí)間也 較長(zhǎng)。假設(shè)網(wǎng)站一天10萬(wàn)訪問(wèn)量,數(shù)據(jù)庫(kù)服務(wù)器就需要?jiǎng)?chuàng)建10萬(wàn)次連接,極大的浪費(fèi)數(shù)據(jù)庫(kù)的資源,并 且極易造成數(shù)據(jù)庫(kù)服務(wù)器內(nèi)存溢出、拓機(jī)。

創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷(xiāo),包括成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷(xiāo)策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷(xiāo)等。創(chuàng)新互聯(lián)建站為不同類(lèi)型的客戶(hù)提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)建站核心團(tuán)隊(duì)10多年專(zhuān)注互聯(lián)網(wǎng)開(kāi)發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶(hù)提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹(shù)立了良好口碑。

數(shù)據(jù)庫(kù)連接池的基本概念

數(shù)據(jù)庫(kù)連接是一種關(guān)鍵的有限的昂貴的資源,這一點(diǎn)在多用戶(hù)的網(wǎng)頁(yè)應(yīng)用程序中體現(xiàn)的尤為突出.對(duì)數(shù)據(jù)庫(kù) 連接的管理能顯著影響到整個(gè)應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo).數(shù)據(jù)庫(kù)連接池正式針對(duì) 這個(gè)問(wèn)題提出來(lái)的.數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配,管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的 數(shù)據(jù)庫(kù)連接,而不是重新建立一個(gè)。

數(shù)據(jù)庫(kù)連接池在初始化時(shí)將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫(kù)連接放到連接池中, 這些數(shù)據(jù)庫(kù)連接的數(shù)量是由最小數(shù) 據(jù)庫(kù)連接數(shù)來(lái)設(shè)定的.無(wú)論這些數(shù)據(jù)庫(kù)連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量. 連接池的最大數(shù)據(jù)庫(kù)連接數(shù)量限定了這個(gè)連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請(qǐng)求的連接數(shù) 超過(guò)最大連接數(shù)量時(shí),這些請(qǐng)求將被加入到等待隊(duì)列中.

數(shù)據(jù)庫(kù)連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮到以下幾個(gè)因素:

  1. 最小連接數(shù):是連接池一直保持的數(shù)據(jù)庫(kù)連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫(kù)連接的使用量不大,將會(huì)有 大量的數(shù)據(jù)庫(kù)連接資源被浪費(fèi).
  2. 最大連接數(shù):是連接池能申請(qǐng)的最大連接數(shù),如果數(shù)據(jù)庫(kù)連接請(qǐng)求超過(guò)次數(shù),后面的數(shù)據(jù)庫(kù)連接請(qǐng)求將 被加入到等待隊(duì)列中,這會(huì)影響以后的數(shù)據(jù)庫(kù)操作
  3. 如果最小連接數(shù)與最大連接數(shù)相差很大:那么最先連接請(qǐng)求將會(huì)獲利,之后超過(guò)最小連接數(shù)量的連接 請(qǐng)求等價(jià)于建立一個(gè)新的數(shù)據(jù)庫(kù)連接.不過(guò),這些大于最小連接數(shù)的數(shù)據(jù)庫(kù)連接在使用完不會(huì)馬上被 釋放,他將被放到連接池中等待重復(fù)使用或是空間超時(shí)后被釋放.

編寫(xiě)連接池需實(shí)現(xiàn)java.sql.DataSource接口。

開(kāi)源數(shù)據(jù)庫(kù)連接池

現(xiàn)在很多WEB服務(wù)器(Weblogic, WebSphere, Tomcat)都提供了DataSoruce的實(shí)現(xiàn),即連接池的實(shí)現(xiàn)。 通常我們把DataSource的實(shí)現(xiàn),按其英文含義稱(chēng)之為數(shù)據(jù)源,數(shù)據(jù)源中都包含了數(shù)據(jù)庫(kù)連接池的實(shí) 現(xiàn)。

也有一些開(kāi)源組織提供了數(shù)據(jù)源的獨(dú)立實(shí)現(xiàn):

  • DBCP 數(shù)據(jù)庫(kù)連接池
  • C3P0 數(shù)據(jù)庫(kù)連接池

在使用了數(shù)據(jù)庫(kù)連接池之后,在項(xiàng)目的實(shí)際開(kāi)發(fā)中就不需要編寫(xiě)連接數(shù)據(jù)庫(kù)的代碼了,直接從數(shù)據(jù)源獲 得數(shù)據(jù)庫(kù)的連接。

DBCP數(shù)據(jù)源

DBCP 是 Apache 軟件基金組織下的開(kāi)源連接池實(shí)現(xiàn),要使用DBCP數(shù)據(jù)源,需要應(yīng)用程序應(yīng)在系統(tǒng)中增 加如下兩個(gè) jar 文件:

  • Commons-dbcp.jar:連接池的實(shí)現(xiàn)
  • Commons-pool.jar:連接池實(shí)現(xiàn)的依賴(lài)庫(kù)

Tomcat 的連接池正是采用該連接池來(lái)實(shí)現(xiàn)的。該數(shù)據(jù)庫(kù)連接池既可以與應(yīng)用服務(wù)器整合使用,也可由 應(yīng)用程序獨(dú)立使用。

測(cè)試:

1、導(dǎo)入相關(guān)jar包

2、在類(lèi)目錄下加入dbcp的配置文件:dbcpconfig.properties

#連接設(shè)置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=123456

#
initialSize=10

#最大連接數(shù)量
maxActive=50

#
maxIdle=20

#
minIdle=5

#
maxWait=60000
#JDBC驅(qū)動(dòng)建立連接時(shí)附帶的連接屬性屬性的格式必須為這樣:【屬性名=property;】
#注意:"user" 與 "password" 兩個(gè)屬性會(huì)被明確地傳遞,因此這里不需要包含他們。
connectionProperties=useUnicode=true;characterEncoding=UTF8

#指定由連接池所創(chuàng)建的連接的自動(dòng)提交(auto-commit)狀態(tài)。
defaultAutoCommit=true

#driver default 指定由連接池所創(chuàng)建的連接的只讀(read-only)狀態(tài)。
#如果沒(méi)有設(shè)置該值,則“setReadOnly”方法將不被調(diào)用。(某些驅(qū)動(dòng)并不支持只讀模式,如:Informix)
defaultReadOnly=

#driver default 指定由連接池所創(chuàng)建的連接的事務(wù)級(jí)別(TransactionIsolation)。
#可用值為下列之一:(詳情可見(jiàn)javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=READ_UNCOMMITTED

網(wǎng)頁(yè)題目:數(shù)據(jù)庫(kù)連接池
轉(zhuǎn)載注明:http://weahome.cn/article/dsoioso.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部