簡體   English   中英

重用數據庫連接池中的連接

[英]Reuse connection in database connection pool

據我了解,數據庫連接池通常以這種方式工作:

  1. 在應用初始化期間創建n個連接並將其放入緩存(例如列表)
  2. 線程需要連接才能對數據庫執行某些操作,並在連接完成后返回連接
  3. 當緩存中沒有可用的連接時,步驟2中的線程將在等待將連接推回到緩存中

我的問題是

從池中獲取連接后,是否可以通過一個連接執行多個數據庫操作,而不是先執行一個數據庫操作然后放回數據庫? 它似乎更有效,因為它節省了獲取和恢復連接的時間。 (在多線程情況下,從連接池進行addget時必須有一定的鎖定成本)

有人可以幫忙嗎? ks!

是的,每次從池中獲取數據庫連接時,該數據庫連接都可以用於多種操作,並且這種行為對於使用池的數據庫應用程序是很典型的。 例如,在處理對REST服務的請求期間,連接可能只獲得一次,並可以重復用於若干操作。 此生命周期通常還涉及將這些操作作為數據庫中的單個事務進行管理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM