亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Alibaba Druid主要配置詳解

 更新時間:2025年07月14日 09:59:23   作者:勤匠  
這篇文章主要介紹了Alibaba Druid主要配置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Alibaba Druid主要配置

連接配置

spring.datasource.druid.initial-size 初始連接數(shù)

描述:

  • 初始連接數(shù),初始連接數(shù)并非在應(yīng)用啟動后立即創(chuàng)建,而是首次執(zhí)行SQL操作時才會初始化指定數(shù)量的物理連接;
  • 建議與min-idle一致。
  • 示例initial-size=5,應(yīng)用啟動后無數(shù)據(jù)庫操作時連接數(shù)為0;首次執(zhí)行SELECT時才會創(chuàng)建5個連接放入池中。

spring.datasource.druid.min-idle 最小連接數(shù)

描述:

  • 最小空閑連接,連接池在任何時刻都會保持設(shè)定的空閑連接數(shù)量,即使長時間無請求也不會銷毀這些連接,避免頻繁創(chuàng)建/銷毀。

spring.datasource.druid.max-active 最大活動連接數(shù)

描述:

  • 指定連接池中允許同時存在的最大活動連接數(shù)(包括正在被使用的連接和空閑連接)。
  • 當(dāng)活躍連接數(shù)達到閾值時:新請求會進入等待隊列(若配置了max-wait超時時間)。
  • 若等待超時或無可用連接,拋出 SQLException(如Connection is not available)

spring.datasource.druid.max-wait 獲取連接最大等待時間

描述:

  • 控制服務(wù)獲取數(shù)據(jù)庫連接最大等待時間參數(shù),單位為毫秒(ms);
  • 當(dāng)連接池中無可用連接時,新請求等待獲取連接的最長時間:若在等待期間有連接釋放,則請求成功獲取連接。
  • 若超時仍無可用連接,拋出 SQLException(如 Connection is not available)

spring.datasource.druid.test-while-idle 空閑連接有效性檢測

描述:

  • 當(dāng)設(shè)置為true時,Druid會在連接空閑時間超過time-between-eviction-runs-millis指定的間后,通過執(zhí)行validation-query(如SELECT 1)檢測連接是否有效。
  • 若檢測失敗,連接會被標(biāo)記為無效并關(guān)閉,同時連接池自動創(chuàng)建新連接補充至min-idle數(shù)量。

spring.datasource.druid.time-between-eviction-runs-millis 清理無效連接的檢測間隔時間

描述:

  • 定義連接池后臺線程(DestroyTask)掃描并清理無效連接的間隔時間;
  • 定期清理閑置連接,避免連接因超時失效后仍被使用,單位為毫秒(ms),默認(rèn)值:60000(1分鐘)。

spring.datasource.druid.min-evictable-idle-time-millis 空閑連接最小存活時間

描述:

  • 控制空閑連接最小存活時間(單位:毫秒);
  • 當(dāng)連接的空閑時間超過此值時,可能被回收線程(DestroyTask)關(guān)閉。
  • 默認(rèn)值:180000(30分鐘)。
  • 需配合time-between-eviction-runs-millis(檢測間隔)生效,由后臺線程周期性掃描空閑連接。

spring.datasource.druid.validation-query 檢測數(shù)據(jù)庫連接有效性SQL

  • 描述:指定一個輕量級SQL查詢語句(如 SELECT 1),用于以下場景:
  • 連接有效性檢測:當(dāng)啟用test-while-idle或test-on-borrow時,通過執(zhí)行該SQL驗證連接是否有效。
  • 空閑連接回收:后臺線程定期掃描空閑連接,對空閑時間超閾值的連接執(zhí)行該語句,失敗則關(guān)閉無效連接

spring.datasource.druid.test-on-borrow 控制連接借出時有效性驗證

描述:

  • 當(dāng)test-on-borrow=true時,應(yīng)用每次從連接池申請連接時,會同步執(zhí)行validation-query(如 SELECT 1)驗證連接是否有效。
  • 若驗證失敗,則丟棄該連接并重新申請一個新連接。(生產(chǎn)環(huán)境配置建議禁用)

spring.datasource.druid.test-on-return 歸還連接時有效性驗證

描述:

  • 當(dāng) test-on-return=true 時,應(yīng)用將連接歸還到連接池前,會同步執(zhí)行validation-query(如 SELECT 1)驗證連接是否有效。
  • 若驗證失敗,連接會被直接丟棄而非放回池中。(生產(chǎn)環(huán)境配置建議禁用)

spring.datasource.druid.pool-prepared-statements?預(yù)編譯語句緩存

描述:

  • 當(dāng)為true時,Druid會為每個數(shù)據(jù)庫連接緩存預(yù)編譯的SQL語句(PreparedStatement),避免重復(fù)編譯相同 SQL,提升執(zhí)行效率。
  • 默認(rèn)值false

spring.datasource.druid.max-pool-prepared-statement-per-connection-size單個連接預(yù)編譯語句緩存數(shù)量上限

描述:

  • 指定每個物理連接可緩存的 PreparedStatement 對象數(shù)量上限(默認(rèn)值 20)。
  • 需配合pool-prepared-statements=true生效:當(dāng)此值>0時,自動啟用 PreparedStatement 緩存。
  • 避免相同SQL重復(fù)編譯,提升高頻重復(fù)查詢性能(如批量操作),實測可降低 20%~30%的SQL執(zhí)行時間。

spring.datasource.druid.filters 過濾器鏈??

描述:

  • 指定啟用的過濾器鏈。
  • 這些過濾器在SQL執(zhí)行前后攔截操作,提供監(jiān)控、安全、日志等擴展功能。
  • 如:filters: stat,wall,slf4j # 啟用監(jiān)控、防火墻、日志過濾器。
  • 若需使用Druid內(nèi)置的SQL監(jiān)控頁面(如 localhost:8080/druid/sql.html),必須啟用 stat 過濾器,否則無法采集SQL執(zhí)行數(shù)據(jù)

spring.datasource.druid.connection-properties鍵值對形式傳遞自定義參數(shù)

描述:

  • 通過分號“;”分隔的鍵值對(如 key1=value1;key2=value2),向Druid內(nèi)部組件傳遞配置參數(shù),影響連接池行為或擴展功能

spring.datasource.druid.use-global-data-source-stat合并多個數(shù)據(jù)源監(jiān)控統(tǒng)計

描述:

  • 用于合并多個數(shù)據(jù)源監(jiān)控統(tǒng)計的關(guān)鍵配置項,主要作用是將應(yīng)用中多個 DruidDataSource 實例的監(jiān)控數(shù)據(jù)聚合為全局視圖,便于統(tǒng)一分析,當(dāng)應(yīng)用中存在多個數(shù)據(jù)源(如主從庫、多租戶庫)時,啟用 use-global-data-source-stat: true 會將所有DruidDataSource 的統(tǒng)計信息(如 SQL 執(zhí)行次數(shù)、耗時、連接數(shù)等)合并展示在 Druid 監(jiān)控頁面的“數(shù)據(jù)源”標(biāo)簽頁下。
  • 未啟用時:每個數(shù)據(jù)源獨立統(tǒng)計,監(jiān)控頁面需切換不同數(shù)據(jù)源查看數(shù)據(jù)。啟用后:監(jiān)控頁直接展示所有數(shù)據(jù)源的匯總數(shù)據(jù),降低分析復(fù)雜度。
  • 每個 DruidDataSource 默認(rèn)會創(chuàng)建獨立的 JdbcDataSourceStat 對象收集統(tǒng)計信息。
  • 啟用全局統(tǒng)計后,多個數(shù)據(jù)源共享同一個統(tǒng)計對象,減少內(nèi)存占用和計算開銷。

監(jiān)控頁面配置

spring.datasource.druid.stat-view-servlet.enabled 控制監(jiān)控頁面是否啟用

描述:

  • 當(dāng)設(shè)置為 true 時,Druid 會注冊一個StatViewServlet,提供內(nèi)置的Web監(jiān)控頁面(訪問路徑默認(rèn)為 /druid/*),用于可視化查看數(shù)據(jù)庫連接池狀態(tài)、SQL執(zhí)行統(tǒng)計、慢查詢?nèi)罩镜汝P(guān)鍵信息。
  • 默認(rèn)值false(禁用)。

spring.datasource.druid.stat-view-servlet.url-pattern監(jiān)控頁面訪問路徑配置

描述:

  • 該配置項指定了 Druid 監(jiān)控頁面的 URL 路徑模式。
  • 默認(rèn)值為 /druid/*,表示監(jiān)控頁面的根路徑為 http://<服務(wù)器地址>:<端口>/druid/。
  • 例如:登錄頁http://localhost:8080/druid/login.html;監(jiān)控頁:http://localhost:8080/druid/sql.html

spring.datasource.druid.stat-view-servlet.login-username監(jiān)控頁面登錄用戶名

描述:

  • 配置監(jiān)控頁面登錄用戶名;
  • 與login-password配合使用,為監(jiān)控頁面(如 http://localhost:8080/druid/login.html)提供基礎(chǔ)安全防護,防止未授權(quán)用戶訪問敏感數(shù)據(jù)庫監(jiān)控數(shù)據(jù);
  • 未配置時默認(rèn)無認(rèn)證(生產(chǎn)環(huán)境禁用此狀態(tài)),訪問監(jiān)控頁無需登錄。

spring.datasource.druid.stat-view-servlet.login-password監(jiān)控頁面登錄密碼

描述:

  • 配置監(jiān)控頁面登錄密碼,與login-username配合使用,為監(jiān)控頁面(如 http://localhost:8080/druid/login.html)提供基礎(chǔ)安全防護,防止未授權(quán)用戶訪問敏感數(shù)據(jù)庫監(jiān)控數(shù)據(jù);
  • 未配置時默認(rèn)無認(rèn)證(生產(chǎn)環(huán)境禁用此狀態(tài)),訪問監(jiān)控頁無需登錄。

spring.datasource.druid.stat-view-servlet.reset-enable監(jiān)控頁面的重置功能開關(guān)

描述:

  • true(默認(rèn)值):啟用/禁用重置功能;監(jiān)控頁面顯示“Reset All”按鈕,點擊后可清空所有統(tǒng)計信息(如SQL執(zhí)行次數(shù)、慢SQL記錄、請求耗時等),數(shù)據(jù)從零開始重新計數(shù)。
  • false:隱藏重置按鈕,防止誤操作導(dǎo)致監(jiān)控數(shù)據(jù)丟失。生產(chǎn)環(huán)境強烈建議關(guān)閉。

Web請求統(tǒng)計

spring.datasource.druid.web-stat-filter.enabled啟用Web請求關(guān)聯(lián)SQL統(tǒng)計

描述:當(dāng)設(shè)置為 true 時,Druid 的 WebStatFilter 會攔截所有 Web 請求,自動采集以下數(shù)據(jù):

  • SQL 執(zhí)行詳情:包括 SQL 語句、執(zhí)行次數(shù)、耗時、慢SQL記錄。
  • 請求關(guān)聯(lián)數(shù)據(jù):URL 訪問路徑、請求次數(shù)、Session活躍度、數(shù)據(jù)庫表訪問頻率等。
  • 資源過濾:通過exclusions配置排除靜態(tài)資源(如JS、CSS、圖片),避免無效統(tǒng)計

監(jiān)控頁面數(shù)據(jù)支撐:啟用后,Druid監(jiān)控頁面的“URI監(jiān)控”和“Session監(jiān)控”標(biāo)簽頁會顯示實時數(shù)據(jù)。若未啟用,這些頁面將無數(shù)據(jù)。

注意!

  • 啟用監(jiān)控頁面:需同時設(shè)置 stat-view-servlet.enabled=true,否則無法查看統(tǒng)計結(jié)果。
  • 啟用SQL監(jiān)控:需配置 filters: stat,否則SQL執(zhí)行詳情無法采集

spring.datasource.druid.web-stat-filter.url-pattern過濾器的攔截路徑配置

描述:

  • 該配置指定了 Druid 的 WebStatFilter 需要攔截哪些 URL 路徑的請求,以采集與數(shù)據(jù)庫操作相關(guān)的統(tǒng)計信息(如 SQL 執(zhí)行詳情、請求耗時、Session 活躍度等)。
  • 默認(rèn)值:/(攔截所有請求)。
  • 典型場景:需監(jiān)控所有業(yè)務(wù)接口的數(shù)據(jù)庫訪問行為時,保持默認(rèn)值即可;若需縮小范圍,可調(diào)整為 /api/ 等特定路徑。

關(guān)聯(lián)數(shù)據(jù)采集,僅被攔截的請求才會生成以下監(jiān)控數(shù)據(jù):

  • SQL監(jiān)控頁:SQL 執(zhí)行次數(shù)、慢 SQL 記錄。
  • URI監(jiān)控頁:每個接口的請求次數(shù)、平均耗時、數(shù)據(jù)庫表訪問頻率。
  • Session 監(jiān)控頁:用戶會話的活躍時長、請求次數(shù)等(需額外啟用 session-stat-enable=true)

spring.datasource.druid.web-stat-filter.exclusions靜態(tài)資源排除配置

描述:

指定哪些URL路徑不參與數(shù)據(jù)庫監(jiān)控統(tǒng)計,例如:

  • 靜態(tài)資源:*.js、*.css、*.jpg、*.ico 等。
  • 內(nèi)置監(jiān)控頁面:/druid/*(避免監(jiān)控自身請求)。
  • 健康檢查接口:如 Spring Boot Actuator 的 /actuator/health

SQL性能監(jiān)控

spring.datasource.druid.filter.stat.log-slow-sql啟用慢 SQL記錄功能

描述:

  • 當(dāng)設(shè)置為 true 時,Druid會捕獲執(zhí)行時間超過閾值(由slow-sql-millis定義)的SQL語句,并將其輸出到日志文件中。
  • 默認(rèn)值:false(未啟用),需手動開啟。
  • 若啟用log-slow-sql: true,慢SQL會輸出到日志文件。

spring.datasource.druid.filter.stat.slow-sql-millis定義慢 SQL判定閾值

描述:

  • 定義慢SQL標(biāo)準(zhǔn);當(dāng)SQL執(zhí)行時間超過設(shè)定閾值時,Druid會將其標(biāo)記為慢SQL。默認(rèn)值3000(3秒)

spring.datasource.druid.filter.stat.db-type數(shù)據(jù)庫類型

描述:

Druid的StatFilter需根據(jù)數(shù)據(jù)庫類型(如 MySQL、Oracle)解析SQL語法,以正確統(tǒng)計以下信息:

  • SQL執(zhí)行詳情:執(zhí)行次數(shù)、耗時、慢SQL識別。
  • 執(zhí)行計劃分析:識別 SQL 結(jié)構(gòu)(如 SELECT/UPDATE)并關(guān)聯(lián)性能數(shù)據(jù)。
  • 若未配置 db-type,可能因語法差異導(dǎo)致統(tǒng)計錯誤(如 Oracle 分頁語句解析失敗)

spring.datasource.druid.filter.stat.merge-sql是否合并統(tǒng)計結(jié)構(gòu)相同但格式不同的SQL語句

描述:

  • 當(dāng)merge-sql=true時,Druid會將語義相同但格式不同的SQL(如空格、換行符差異)合并為同一條統(tǒng)計記錄;
  • 合并后顯著降低內(nèi)存占用和統(tǒng)計信息數(shù)量,提升監(jiān)控效率,尤其在高并發(fā)場景下。

SQL防火墻

spring.datasource.druid.wall.enabled啟用SQL防火墻開關(guān)

描述:

  • 當(dāng)設(shè)置為true時,Druid會激活內(nèi)置的WallFilter,對所有執(zhí)行的 SQL 進行安全審計,攔截危險操作(如 SQL 注入、無 WHERE 的 DELETE/UPDATE、DROP TABLE 等);
  • 默認(rèn)值:false。

spring.datasource.druid.wall.config.drop-table-allow 禁止刪除表開關(guān)

描述:

  • 當(dāng)設(shè)置為false(默認(rèn)值)時:禁止執(zhí)行DROP TABLE、DROP VIEW 等刪表操作,防止誤刪或惡意刪除數(shù)據(jù)庫表結(jié)構(gòu)。
  • 當(dāng)設(shè)置為true 時:允許執(zhí)行刪表操作(生產(chǎn)環(huán)境強烈不推薦)。

spring.datasource.druid.wall.config.truncate-allow禁止清空表開關(guān)

描述:

  • 當(dāng)設(shè)置為false(默認(rèn)值)時禁止執(zhí)行TRUNCATE TABLE操作,防止誤刪或惡意清空整張表的數(shù)據(jù)(該操作不可回滾,且不觸發(fā)觸發(fā)器)。
  • 設(shè)置為true時允許執(zhí)行TRUNCATE操作(生產(chǎn)環(huán)境強烈不推薦)

spring.datasource.druid.wall.config.delete-allow禁止無WHERE條件的DELETE操作開關(guān)

描述:

  • 當(dāng)設(shè)置為false時,Druid會攔截所有 DELETE 語句,防止誤刪或惡意刪除數(shù)據(jù)。
  • 默認(rèn)值true(允許執(zhí) DELETE語句)

spring.datasource.druid.wall.config.select-all-column-allow禁止SELECT *開關(guān)

  • 描述:當(dāng)設(shè)置為false時,Druid會攔截所有 SELECT * FROM table 這類查詢語句。
  • 默認(rèn)值true(允許執(zhí)行 SELECT * 查詢)

spring.datasource.druid.wall.config.condition-and-always-true-allow攔截永真條件開關(guān)

描述:

  • 若設(shè)置為true,允許SQL中出現(xiàn) WHERE 1=1 這類條件,攻擊者可能利用此特性繞過身份驗證或批量竊取數(shù)據(jù),默認(rèn)值false

spring.datasource.druid.wall.config.multi-statement-allow禁止多語句執(zhí)行開關(guān)

描述:

  • 控制是否允許單次請求執(zhí)行多條SQL語句的安全配置項。
  • 默認(rèn)值false(禁止執(zhí)行多條SQL)。
  • 開啟后允許通過分號;分隔執(zhí)行多條SQL(如 UPDATE table1 SET …; UPDATE table2 SET …)。

spring.datasource.druid.wall.config.function-allow控制是否允許SQL語句調(diào)用數(shù)據(jù)庫函數(shù)

描述:

默認(rèn)值false(禁止調(diào)用數(shù)據(jù)庫函數(shù));若設(shè)為 true,允許執(zhí)行如SLEEP()、LOAD_FILE()、EXEC() 等敏感函數(shù),導(dǎo)致以下攻擊:

  • 時間盲注攻擊:利用 SLEEP(5) 探測數(shù)據(jù)庫結(jié)構(gòu)。
  • 文件讀取/寫入:通過 LOAD_FILE(‘/etc/passwd’) 竊取系統(tǒng)文件。
  • 命令執(zhí)行:調(diào)用 EXEC(‘rm -rf /’) 破壞系統(tǒng)(部分?jǐn)?shù)據(jù)庫支持)

spring.datasource.druid.wall.config.read-only-tables配置只讀表

描述:

  • 通過配置表名(支持正則表達式),禁止對這些表執(zhí)行 INSERT/UPDATE/DELETE 等寫操作;
  • 如:read-only-tables: user, config_.* #禁止修改user表和config_前綴的表

spring.datasource.druid.wall.config.log-violation控制是否記錄被攔截SQL語句

描述:

  • 默認(rèn)值false(不記錄攔截的 SQL)。
  • 若設(shè)置為true,當(dāng)SQL語句觸發(fā)防火墻規(guī)則(如執(zhí)行SELECT *、永真條件 WHERE 1=1或高危操作)時,Druid會通過 LOG.error 輸出詳細(xì)的攔截日志。
  • 日志內(nèi)容包含違規(guī)SQL、攔截原因、執(zhí)行時間等信息,便于安全審計。

spring.datasource.druid.wall.config.throw-exception是否對違規(guī)SQL拋出異常

描述:

  • 默認(rèn)值:true(檢測到高危SQL時拋出 SQLException 阻斷執(zhí)行),若設(shè)置為false僅記錄攔截日志(需配合 log-violation=true),不中斷請求,存在安全風(fēng)險。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實現(xiàn)文件夾解壓和壓縮

    java實現(xiàn)文件夾解壓和壓縮

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)文件夾解壓和壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 淺談spring容器中bean的初始化

    淺談spring容器中bean的初始化

    下面小編就為大家?guī)硪黄獪\談spring容器中bean的初始化。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 關(guān)于Java中增強for循環(huán)使用的注意事項

    關(guān)于Java中增強for循環(huán)使用的注意事項

    for循環(huán)語句是java循環(huán)語句中最常用的循環(huán)語句,一般用在循環(huán)次數(shù)已知的情況下使用,這篇文章主要給大家介紹了關(guān)于Java中增強for循環(huán)使用的注意事項,需要的朋友可以參考下
    2021-06-06
  • Java中四種引用詳解

    Java中四種引用詳解

    這篇文章主要為大家介紹了Java中的四種引用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • SpringBoot應(yīng)用是否存在MySQL連接泄漏問題的排查方法

    SpringBoot應(yīng)用是否存在MySQL連接泄漏問題的排查方法

    這篇文章主要介紹了排查SpringBoot應(yīng)用MySQL連接泄漏的方法,需檢查連接數(shù)、空閑連接,配置連接池參數(shù),確保資源關(guān)閉,并使用監(jiān)控工具如Actuator和Prometheus分析,需要的朋友可以參考下
    2025-06-06
  • 在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例

    在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例

    這篇文章主要介紹了在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 將JavaDoc注釋生成API文檔的操作

    將JavaDoc注釋生成API文檔的操作

    這篇文章主要介紹了將JavaDoc注釋生成API文檔的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • RabbitMQ實現(xiàn)消息可靠性傳遞過程講解

    RabbitMQ實現(xiàn)消息可靠性傳遞過程講解

    消息的可靠性傳遞是指保證消息百分百發(fā)送到消息隊列中去,這篇文章主要介紹了RabbitMQ實現(xiàn)消息可靠性傳遞過程,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • SpringAop日志找不到方法的處理

    SpringAop日志找不到方法的處理

    這篇文章主要介紹了SpringAop日志找不到方法的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • JavaWeb中的Cookie和Session解讀

    JavaWeb中的Cookie和Session解讀

    這篇文章主要介紹了JavaWeb中的Cookie和Session解讀,Cookie是servlet發(fā)送到Web瀏覽器的少量信息,該信息由瀏覽器保存,然后發(fā)送回服務(wù)器,一般情況下,Cookie是以鍵值對進行表示的,Cookie的值可以唯一地標(biāo)識客戶端,因此Cookie常用于會話管理,需要的朋友可以參考下
    2023-10-10

最新評論