web服務中連線池用法

javasgl發表於2017-07-18

最近使用 go 的過程中,需要連線資料庫,為了提高效能,準備使用連線池,並且由於 database/sql 本身就支援連結池,非常方便。

在 web 服務中,只保持了一個全域性的連線池,現在有一個問題就是 ,由於 web 服務啟動後,會阻塞監聽埠,那麼 這個全域性的連線池什麼時候呼叫 Close 來關閉?

我目前是這樣做的,不知道合不合適:

main.go

package main
import (
 "net/http"
 "database/sql"
)
var dbpool *sql.DB
func init(){
  dbpool = sql.Open("driver","dsn")
}

func main(){
 _,err:= http.ListenAndServe("hostname:port")
 if err != nil {
   return
 }
  defer dbpool.Close()
}
更多原創文章乾貨分享,請關注公眾號
  • web服務中連線池用法
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章