springboot配置mysql druid連接池,以及連接池參數解釋

文章目錄

  • 前置
  • 配置方式
  • 參數解釋

前置

  • springboot 項目
  • java
  • mysql
  • druid 連接池

配置方式

在 springboot 的 application.yml 中配置基本方式

# Druid 配置(Spring Boot YAML 格式)
spring:datasource:url: jdbc:mysql://localhost:3306/testdb?useSSL=falseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driverdruid:initial-size: 5min-idle: 5max-active: 20max-wait: 60000time-between-eviction-runs-millis: 60000validation-query: SELECT 1test-while-idle: truetest-on-borrow: falsetest-on-return: false

參數解釋

參數名說明默認值推薦值
連接池配置:
initialSize初始化時創建的物理連接數0如 5
minIdle最小空閑連接;0通常設置為 5~10
maxActive最大活躍連接數(同時可使用的連接數上限)8如 20~100
maxWait獲取連接的最大等待時間(毫秒),超時拋出異常。-1 無限等待設置為 5000~60000,避免線程長時間阻塞
連接驗證和保活:
validationQuery檢測連接是否有效的 SQL(如 SELECT 1)SELECT 1
testWhileIdle空閑時檢查連接有效性truetrue
連接回收與驅逐:
timeBetweenEvictionRunsMillis空閑連接檢查間隔(毫秒),舉例子:如果一個連接在 10:00 被歸還到池中,且 timeBetweenEvictionRunsMillis 為 60 秒,則在 10:01 時,該連接的空閑時間已超過閾值,會觸發檢測60000(1分鐘)60000(1分鐘)
minEvictableIdleTimeMillis空閑連接的最小存活時間(超過此值可能被驅逐);空閑連接數 > minIdle 且 空閑時間 > 該值,回收多余的空閑連接1800000(30分鐘)1800000(30分鐘)
maxEvictableIdleTimeMillis空閑連接的最大存活時間(超過此值強制驅逐);空閑時間 > 該值,強制回收所有超時的空閑連接25200000(7小時)25200000(7小時)
性能優化:
poolPreparedStatements是否緩存 PreparedStatementfalse高頻查詢時設為 true
maxPoolPreparedStatementPerConnectionSize每個連接緩存的 PreparedStatement 數量10自定義設置
性能優化:
removeAbandoned是否回收未歸還的連接(如程序異常退出)false,默認 false 是因為其對性能有影響,而且有些業務處理中連接就是很久未歸還,默認如果是 true 會帶來業務困擾高并發下設置true
removeAbandonedTimeout回收未歸還連接的超時時間(秒)300自定

空閑連接:當一個連接使用完畢,并通過相應的歸還機制(例如關閉連接對象)返回到連接池中時,它就成為了空閑連接,等待下一次被獲取和使用
活躍連接:未歸還到連接池的
空閑時:定義空閑時,即上一次連接歸還,到下一次連接被請求使用 之間的時間

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906710.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906710.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906710.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue實現高亮文字效果——advanced-mark.js

組件介紹-advanced-mark.js: advanced-mark.js 是一個用于 Vue 的高亮文字組件,它可以幫助你在文本中高亮顯示指定的關鍵詞或短語。 組件地址:https://angezid.github.io/advanced-mark.js/doc-v2/getting-started.html 主要功能&#xff1…

DC30V/2.5A同步降壓芯片SL1581 輸入24V降壓5V 12V2A電流

在工業自動化、汽車電子等領域,24V 電源系統向 5V/12V 雙軌供電的需求日益增長。針對這一痛點,森利威爾電子重磅推出 DC30V/2.5A 同步降壓芯片 SL1581,憑借卓越的性能和創新設計,為工程師提供高可靠性、高性價比的電源解決方案。 …

React 第四十四節Router中 usefetcher的使用詳解及注意事項

前言 useFetcher 是 React Router 中一個強大的鉤子,用于在不觸發頁面導航的情況下執行數據加載(GET)或提交(POST)。 一、useFetcher 應用場景: 1、后臺數據預加載(如鼠標懸停時加載數據&…

Jmeter(三) - 測試計劃(Test Plan)的元件

1.簡介 上一篇已經教你如何通過JMeter來創建一個測試計劃(Test Plan),那么這一篇我們就將JMeter啟動起來,創建一個測試計劃(Test plan),給大家介紹一下測試計劃(Test Plan&#xff…

應屆本科生簡歷制作指南

一、找一個專業的簡歷模板 首先,你需要訪問 Overleaf 的官方網站,也就是Overleaf, Online LaTeX Editor,進入頁面后,點擊注冊按鈕,按照提示填寫相關信息來創建一個屬于自己的賬號,通常需要填寫用戶名、郵箱…

[Spring Boot]整合Java Mail實現Outlook發送郵件

日常開發過程中,我們經常需要使用到郵件發送任務,比方說驗證碼的發送、日常信息的通知等。日常比較常用的郵件發送方包括:163、QQ等,本文主要講解Outlook SMTP的開啟方式、OutLook STARTTTL的配置、如何通過JavaMail來實現電子郵件的發送等。 Outlook作為微軟提供的企業電子…

【YOLOs-CPP-圖像分類部署】03-解決報錯

完整項目鏈接 點擊here下載! 上一篇問題 經過上一篇博客,我們得到了一個粗略版(會報錯)的項目。如何解決異常報錯呢? 我把問題在github上對作者進行了提問,但是2天后,依然沒有回復。 怎么辦呢?只能自己調試代碼了。 修改代碼 經過大量調試,修改了YOLO11CLASS.h…

Dockers Compose常用指令介紹

Dockers Compose常用指令 1、常用指令介紹 1.1、version 指令 頂級一級指令,指定 compose 指定文件格式版本 version: "3.8" services: 不同版本支持的功能不同。常用版本有 ‘2’, ‘3’, ‘3.8’ 等。 1.2、services 指令 頂級一級指令&#xff0…

謝飛機的Spring WebFlux面試之旅:從基礎到深入

謝飛機的Spring WebFlux面試之旅:從基礎到深入 面試場景:謝飛機的WebFlux面試 面試官:你好,謝飛機,請介紹一下你自己。 謝飛機:您好,我是一名有三年開發經驗的Java程序員,熟悉Spr…

Mysql增量備份與恢復

1.練習數據增量備份 增量備份:備份上次備份后,新產生的數據。 PERCONA Xtrabackup是一款強大的在線熱備份工具,備份過程中不鎖庫表,適合生產環境。支持完全備份與恢復、增量備份與恢復、差異備份與恢復。 安裝Xtrabackup 150、…

GStreamer (三)常?插件

常?插件 1、Source1.1、filesrc1.2. videotestsrc1.3. v4l2src1.4. rtspsrc和rtspclientsink 2、 Sink2.1. filesink2.2. fakesink2.3. xvimagesink2.4. kmssink2.5. waylandsink2.6. rkximagesink2.7. fpsdisplaysink 3 、視頻推流/拉流3.1. 本地推流/拉流3.1.1 USB攝像頭3.1…

Spring Boot與Kafka集成實踐:實現高效消息隊列

Spring Boot與Kafka集成實踐 引言 在現代分布式系統中,消息隊列是實現異步通信和解耦的重要組件。Apache Kafka作為一種高性能、分布式的消息隊列系統,被廣泛應用于大數據和實時數據處理場景。本文將介紹如何在Spring Boot項目中集成Kafka,…

Linux PXE批量裝機+無人值守技術(自動化裝機)

目錄 PXE所需條件 服務端所需服務 客戶端所需功能 1.準備系統安裝rpm倉庫 (1)安裝vsftpd服務 (2)啟動并設置開機自啟 (3)準備yum倉庫文件 2.安裝配置dhcpd服務 (1)安裝dhcoo軟件包 (2)配置dhcp服務 (3)啟動并設置開機自啟 3.部署TFTP服務 (1)安裝軟…

linux_cmake的筆記

include_directories()的使用 今天在運行一個cmakelist.txt如下所示時候,發現一個問題: cmake_minimum_required(VERSION 3.28) project(l_trajectoryError CXX) option(USE_UBUNTU_20 "Set to ON if you are using Ubuntu 20.04" OFF) find…

論文略讀:If Multi-Agent Debate is the Answer, What is the Question?

202502 arxiv 1 intro 多智能體辯論(Multi-Agent Debate, MAD):通過讓多個智能體在大模型推理時展開多輪辯論,可提升生成內容的事實準確性和推理質量 但論文認為,目前多智能體辯論在大多數情況下不敵簡單的單智能體方…

使用RUST在Arduino上進行編程(MacOS,mega板)

近年來,RUST成為了嵌入式編程的熱門語言,本文通過實現(1)LED閃燈,以及(2)在console(終端)實現“Hello Rust World”兩項功能來完成實操的入門。 深入學習可以參考RUST語言…

(15)關于窗體的右鍵菜單的學習與使用,這關系到了信號與事件 event

(1)起因來源于 4.11 的老師講的例題,標準的,規范的使用右鍵菜單的代碼及參考資料如下: (2) 接著脫離上面的那個復雜的環境,用簡單的例子測試一下 : 說明老師講的都是對…

C 語言學習筆記(指針4)

內容提要 指針 函數指針與指針函數二級指針 指針 函數指針與指針函數 函數指針 定義 函數指針本質上是指針,是一個指向函數的指針。函數都有一個入口地址,所謂指向函數的指針,就是指向函數的入口地址。(這里的函數名就代表…

C#串口打印機:控制類開發與實戰

C#串口打印機:控制類開發與實戰 一、引言 在嵌入式設備、POS 終端、工業控制等場景中,串口打印機因其穩定的通信性能和廣泛的兼容性,仍是重要的數據輸出設備。本文基于 C# 語言,深度解析一個完整的串口打印機控制類Printer&…

通過vue-pdf和print-js實現PDF和圖片在線預覽

npm install vue-pdf npm install print-js <template><div><!-- PDF 預覽模態框 --><a-modal:visible"showDialog":footer"null"cancel"handleCancel":width"800":maskClosable"true":keyboard"…