ホームページ > バックエンド開発 > Golang > My Go Web API でデータベース接続を効率的に管理するにはどうすればよいですか?

My Go Web API でデータベース接続を効率的に管理するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-01 14:27:22
オリジナル
872 人が閲覧しました

How Can I Efficiently Manage Database Connections in My Go Web API?

Go アプリケーションでのデータベース接続の効率的な管理

Web API アプリでは現在、各関数が Postgres データベースへの独自の接続を確立しているため、リソースの使用率とパフォーマンス。このアプローチを改善して、アプリケーションの効率を高めることができます。

アプリケーションの起動時に単一の sql.DB インスタンスを初期化する方法をお勧めします。このインスタンスは、データベース アクセスを必要とする関数に引数として渡すことも、グローバル変数として使用できるようにすることもできます。 sql.Open() ドキュメントによると、「返された DB は複数の goroutine による同時使用に対して安全であり、アイドル接続の独自のプールを維持します。」

sql.DB インスタンスを初期化するには、 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")
}
ログイン後にコピー

このアプローチにより、複数の接続を確立する際のオーバーヘッドが排除され、効率的なリソース管理が保証されます。 db.Ping() 呼び出しは、データベースがアクセス可能であることを確認します。

この戦略に従うことで、Web API アプリはデータベース接続をより効率的に処理し、リソース使用率を最小限に抑え、パフォーマンスを向上させることができます。

以上がMy Go Web API でデータベース接続を効率的に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート