Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengurus Sambungan Pangkalan Data dengan Cekap dalam My Go Web API?
Dalam apl API web anda, setiap fungsi pada masa ini mewujudkan sambungannya sendiri ke pangkalan data Postgres, yang menimbulkan kebimbangan tentang penggunaan sumber dan prestasi. Pendekatan ini boleh dipertingkatkan untuk meningkatkan kecekapan aplikasi anda.
Kaedah pilihan adalah untuk memulakan satu contoh sql.DB semasa aplikasi dimulakan. Contoh ini boleh dihantar sebagai hujah kepada fungsi yang memerlukan akses pangkalan data atau disediakan sebagai pembolehubah global. Menurut dokumentasi sql.Open(), "DB yang dikembalikan adalah selamat untuk kegunaan serentak oleh berbilang goroutine dan mengekalkan kumpulan sambungan terbiarnya sendiri."
Untuk memulakan contoh sql.DB, anda boleh menggunakan package init() function:
package main import ( "fmt" "log" "github.com/lib/pq" ) var db *sql.DB func init() { var err error dbURI := "user=postgres password=password dbname=api_dev sslmode=disable" db, err = sql.Open("postgres", dbURI) if err != nil { log.Fatal("Invalid DB config:", err) } if err = db.Ping(); err != nil { log.Fatal("DB unreachable:", err) } } func main() { fmt.Println("Initialized DB connection successfully") }
Pendekatan ini menghapuskan overhed untuk mewujudkan berbilang sambungan dan memastikan pengurusan sumber yang cekap. Panggilan db.Ping() mengesahkan bahawa pangkalan data boleh diakses.
Dengan mengikuti strategi ini, apl API web anda boleh mengendalikan sambungan pangkalan data dengan lebih cekap, meminimumkan penggunaan sumber dan meningkatkan prestasi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengurus Sambungan Pangkalan Data dengan Cekap dalam My Go Web API?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!