pytest文件51-內建fixture之cache使用
阿新 • • 發佈:2020-09-04
資料庫連線池的目的
為了減少頻繁開關連線的時間,提高整個系統的相應能力
通過分析發現應該具備幾個屬性值:
1、初始大小
2、每次擴容的大小
3、連線池的最大個數
4、空閒連線的死亡時間
各種資料庫連線池
1、DBCP(基本不用)
2、C3P0
注意:
一般不會在程式碼中直接設定資料庫相關的屬性值
這些屬性值會直接寫在配置檔案中
3、Druid
properties檔案配置#驅動名稱#driverClassName=com.mysql.jdbc.Driver
#url
url=jdbc:mysql://localhost:3306/demo
#使用者名稱
username=root
#密碼
password=123456
#配置初始化大小、最小、最大
initialSize=5
minIdle=10
maxActive
#配置監控系統攔截的filters:監控統計用的filter:stat日誌用的filter:log4j防禦sql注入的filter:wall
filters=stat
#配置獲取連線等待超時的時間
maxWait=60000
#配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
timeBetweenEvictionRunsMillis=60000
#配置一個連線在池中最小的生存的時間,單位是毫秒
minEvictableIdleTimeMillis=600000
maxEvictableIdleTimeMillis=900000
#建議配置為true,不影響效能,並且保證安全性。申請連線的時候檢測,如果空閒時間大於timeBetweenEvictionRunsMillis,執行validationQuery檢測連線是否有效。
testWhileIdle=true
#申請連線時執行validationQuery檢測連線是否有效,做了這個配置會降低效能。
testOnBorrow=false
#歸還連線時執行validationQuery檢測連線是否有效,做了這個配置會降低效能
testOnReturn=false
#是否快取preparedStatement,也就是PSCache。PSCache對支援遊標的資料庫效能提升巨大,比如說oracle。在mysql下建議關閉。
poolPreparedStatements=true
#要啟用PSCache,必須配置大於0,當大於0時,poolPreparedStatements自動觸發修改為true。在Druid中,不會存在Oracle下PSCache佔用記憶體過多的問題,可以把這個數值配置大一些,比如說100
maxOpenPreparedStatements=20
#asyncInit是1.1.4中新增加的配置,如果有initialSize數量較多時,開啟會加快應用啟動時間
asyncInit=true
4、hikariCP
main方法測試類
HikariCP.properties
dataSourceClassName=com.mysql.jdbc.jdbc2.optional.MysqlDataSource dataSource.user=root dataSource.password=123456 dataSource.databaseName=demo dataSource.portNumber=3306 dataSource.serverName=localhost