Sobes.tech
Middle+

Go'dakı database/sql paketində connection pool nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Go'da database/sql paketində, bağlantı hovuzu verilənlər bazası ilə əlaqəli bağlantıların idarə olunması üçün daxili mexanizmdir. Bu, açıq əlaqələrin təkrar istifadə olunmasına imkan verir, hər sorğu üçün yeni əlaqə yaratmağa ehtiyac qalmır, bu da performansı əhəmiyyətli dərəcədə artırır və verilənlər bazasına yükü azaldır.

Əsas xüsusiyyətlər:

  • Hovuz ehtiyac olduqda əlaqələri avtomatik olaraq açır və bağlayır.
  • SetMaxOpenConnsSetMaxIdleConns metodları vasitəsilə açıq və eyni zamanda istifadə olunan əlaqələrin maksimum sayı tənzimlənə bilər.
  • Hovuz çox iş parçacığı mühitlərində əlaqələrə təhlükəsiz giriş təmin edir.

Tənzimləmə nümunəsi:

db, err := sql.Open("postgres", "connection_string")
if err != nil {
    log.Fatal(err)
}
// Maksimum 10 açıq əlaqə
db.SetMaxOpenConns(10)
// Hovuzda maksimum 5 qeyri-aktiv əlaqə
db.SetMaxIdleConns(5)

Beləliklə, database/sql-dəki əlaqə hovuzu verilənlər bazası ilə işləyərkən resursların səmərəli idarə olunmasına kömək edir.