golang gorm 数据库连接池不回收,累计增加
sqlDB.SetConnMaxLifetime(time.Second * 60) 设置时间
func DB() *gorm.DB {
var config config.Config
conf := config.GetConf()
dsn := conf.Database.Source //"root:root@tcp(localhost:3306)/db?charset=utf8mb4&parseTime=true"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
TablePrefix: "",
SingularTable: true,
},
})
fmt.Println("err : ", err)
sqlDB, err := db.DB()
// SetMaxIdleConns 用于设置连接池中空闲连接的最大数量。
sqlDB.SetMaxIdleConns(10)
// SetMaxOpenConns 设置打开数据库连接的最大数量。
sqlDB.SetMaxOpenConns(100)
// SetConnMaxLifetime 设置了连接可复用的最大时间。
sqlDB.SetConnMaxLifetime(time.Second * 60) 设置时间
return db
}