프로그래밍 일반/Go 프로그래밍

GORM connection pool

지노윈 2024. 11. 26. 20:08
반응형

 

 

https://gorm.io/docs/connecting_to_the_database.html#Connection-Pool
sqlDB, err := db.DB()

// SetMaxIdleConns sets the maximum number of connections in the idle connection pool.
sqlDB.SetMaxIdleConns(10)

// SetMaxOpenConns sets the maximum number of open connections to the database.
sqlDB.SetMaxOpenConns(100)

// SetConnMaxLifetime sets the maximum amount of time a connection may be reused.
sqlDB.SetConnMaxLifetime(time.Hour)

SetMaxOpenConns

데이터베이스에 대한 최대 열려 있는 연결 수를 설정합니다.

MaxIdleConns가 0보다 크고  새로운 MaxOpenConns가 MaxIdleConns 보다 적다면, MaxIdleConns 값이 MaxOpenConns 값으로 설정됩니다.

n <= 0이면 열려 있는 연결 수에 제한이 없습니다.
기본값은 0(무제한)입니다.

 

SetMaxIdleConns

유휴 연결 풀의 최대 연결 수를 설정합니다.

MaxOpenConns 값이 0보다 크고 새로운 MaxIdleConns보다 적다면, 새로운 MaxIdleConns 값이 MaxOpenConns 맞게 줄어듭니다. 즉, MaxOpenConns 값보다 클 수 없다.

n <= 0이면 유휴 연결이 유지되지 않습니다.
기본 최대 유휴 연결 수는 현재 2입니다.
향후 릴리스에서 변경될 수 있습니다.

 

SetConnMaxLifetime

연결이 재사용될 수 있는 최대 시간을 설정합니다.

만료된 연결은 재사용하기 전에 느리게 닫힐 수 있습니다.

d <= 0이면 연결의 수명으로 인해 연결이 닫히지 않습니다.

 

SetConnMaxIdleTime

연결이 유휴 상태로 남을 수 있는 최대 시간을 설정합니다.

만료된 연결은 재사용하기 전에 느리게 닫힐 수 있습니다.

d <= 0이면 연결의 유휴 시간으로 인해 연결이 닫히지 않습니다.

'프로그래밍 일반 > Go 프로그래밍' 카테고리의 다른 글

[go] golang의 %w  (0) 2024.11.14
[go] golang의 가비지 콜렉터  (0) 2024.11.13
[go] go-redis와 Redigo 비교  (0) 2024.11.09
[go] %v와 %+v의 차이  (0) 2024.11.08
[go] Context 활용하기  (0) 2024.11.07