当前位置:Gxlcms > 数据库问题 > Golang mysql 上线的一个坑 Db.close重要性

Golang mysql 上线的一个坑 Db.close重要性

时间:2021-07-01 10:21:17 帮助过:42人阅读

。为什么? 他们说有

Db.SetMaxOpenConns(200)
Db.SetMaxIdleConns(100)
Db.Ping()

  线程池。所有代码中都说不需要close,但是那是有条件的。

我们查看官方的解释

// It is rare to Close a DB, as the DB handle is meant to be
// long-lived and shared between many goroutines.

但在实际使用中,都说了是定时任务自然是go func的,然后使用一个公共的Db,还有一个注意的问题,虽然连接放进连接池,但是服务器依然会单方面断开一个的连接。

关键是而且使用Db.Ping()依然不能解决这个问题,原因没细查。

现在知道了原因,解决起来就容易多了,结尾一定加

Db.Close()

什么rows.close,stmt.close反而不重要,后面测试发现可有可无,凌晨1点了,收工。

 

今早上起来,一切OK,运行了1个晚上

 

Golang mysql 上线的一个坑 Db.close重要性

标签:定时   lan   from   fat   ide   golang   rom   内存   sel   

人气教程排行