golang gorm 数据库连接池不回收,累计增加

2022-11-09 10:53:00

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
}