首頁 > 後端開發 > Golang > 如何在 Go 中的多個 HTTP goroutine 之間共用 MySQL 連線?

如何在 Go 中的多個 HTTP goroutine 之間共用 MySQL 連線?

Linda Hamilton
發布: 2024-11-10 09:56:02
原創
572 人瀏覽過

How do I share a MySQL connection across multiple HTTP goroutines in Go?

在 Go HTTP Goroutines 中共用 MySQL 連線

在 Go 中使用 HTTP Goroutines 時,透過共用資料庫連線來最佳化效能至關重要。本文示範如何在多個 HTTP 處理程序之間建立和共用 MySQL 連線。

資料庫連線管理

在 Go 中,database/sql 套件會自動處理連線池。當呼叫 sql.Open(...) 時,會建立一個連線池而不是單一連線。這表示如果所有連線都已在使用中,database/sql 套件將自動從池中取得連線。

程式碼實作

要在HTTP goroutine 中共用MySQL 連接,請依照以下步驟操作步驟:

  1. 初始化資料庫連接:

    • 初始化資料庫連接:

    初始化資料庫連接:

  2. 初始化資料庫連接:
  3. 使用sql.Open("mysql", "")。

    • 示例:
  4. 配置連接池:
    使用db.SetMaxIdleConns(100) 調整最大空閒連線數。

  5. 共享連接句柄:
  6. 將db 變量宣告為全域變量,以便在主處理程序和HTTP 處理程式之間共享它。

    • 示例:

  7. 檢查數據庫連接:
  8. 在main() 中呼叫db.Ping() 建立與資料庫的初始連線。

    • 示例:

  9. 在HTTP 處理程序中使用連接:

在HTTP 處理程序中,使用共用資料庫句柄執行資料庫查詢。 範例:依照以下步驟,您可以跨多個HTTP goroutine 高效共享MySQL 連接,而不是高效共享SQL 連接,而不有效影響性能。

以上是如何在 Go 中的多個 HTTP goroutine 之間共用 MySQL 連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板