웹 API 앱에서 각 기능은 현재 Postgres 데이터베이스에 대한 자체 연결을 설정하므로 리소스 활용 및 성능. 이 접근 방식을 개선하여 애플리케이션 효율성을 높일 수 있습니다.
선호되는 방법은 애플리케이션 시작 시 단일 sql.DB 인스턴스를 초기화하는 것입니다. 이 인스턴스는 데이터베이스 액세스가 필요한 함수에 인수로 전달되거나 전역 변수로 사용 가능하게 될 수 있습니다. sql.Open() 문서에 따르면 "반환된 DB는 여러 고루틴에서 동시에 사용하기에 안전하며 자체 유휴 연결 풀을 유지 관리합니다."
sql.DB 인스턴스를 초기화하려면 다음을 사용할 수 있습니다. package init() 함수:
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") }
이 접근 방식은 다중 연결 설정에 따른 오버헤드를 제거하고 효율적인 리소스 관리를 보장합니다. db.Ping() 호출은 데이터베이스에 액세스할 수 있는지 확인합니다.
이 전략을 따르면 웹 API 앱이 데이터베이스 연결을 보다 효율적으로 처리하여 리소스 활용을 최소화하고 성능을 향상시킬 수 있습니다.
위 내용은 My Go Web API에서 데이터베이스 연결을 효율적으로 관리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!