golang内部自带了连接池功能,所以只需要全局创建单例的db就可以了
创建连接池
创建db后并不需要自己去使用db.Close()去关闭,虽然提供了这样关闭方法但是完全不需要使用。
只要像下面这样创建连接就可以直接使用,如果非要使用关闭,那么可以在信号signal 部分去关闭系统的资源。
var DB *sql.DB
func init() {
db, _ = sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?charset=utf8")
db.SetMaxOpenConns(2000)
db.SetMaxIdleConns(1000)
db.Ping()
}
- SetMaxOpenConns用于设置最大打开的连接数,默认值为0表示不限制。
- SetMaxIdleConns用于设置闲置的连接数。
参考
golang go-sql-drive mysql连接池的实现
来源:oschina
链接:https://my.oschina.net/u/1992048/blog/778647