searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Gorm线程池管理

2023-11-06 10:01:41
91
0

介绍Gorm线程池,避免出现因超出最大连接数导致连接断开

gorm连接mysql代码如下:

db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})


但如果直接使用db去操作mysql数据库,如果连接数量超过mysql最大限制,会导致连接断开。

因此需要对gorm的数据库连接进行线程池管理,代码如下:

sqlDb, _ := db.DB()
// 设置空闲连接池中链接的最大数量
sqlDb.SetMaxIdleConns(100)
// 设置打开数据库链接的最大数量
sqlDb.SetMaxOpenConns(1000)
// 设置连接池里面的连接最大存活时长
sqlDb.SetConnMaxLifetime(60 * time.Second)
// 设置连接池里面的连接最大空闲时长
sqlDb.SetConnMaxIdleTime(10 * time.Second)

接下来使用db进行数据库操作即可。

0条评论
0 / 1000
l****n
14文章数
0粉丝数
l****n
14 文章 | 0 粉丝
原创

Gorm线程池管理

2023-11-06 10:01:41
91
0

介绍Gorm线程池,避免出现因超出最大连接数导致连接断开

gorm连接mysql代码如下:

db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})


但如果直接使用db去操作mysql数据库,如果连接数量超过mysql最大限制,会导致连接断开。

因此需要对gorm的数据库连接进行线程池管理,代码如下:

sqlDb, _ := db.DB()
// 设置空闲连接池中链接的最大数量
sqlDb.SetMaxIdleConns(100)
// 设置打开数据库链接的最大数量
sqlDb.SetMaxOpenConns(1000)
// 设置连接池里面的连接最大存活时长
sqlDb.SetConnMaxLifetime(60 * time.Second)
// 设置连接池里面的连接最大空闲时长
sqlDb.SetConnMaxIdleTime(10 * time.Second)

接下来使用db进行数据库操作即可。

文章来自个人专栏
GOLANG软件开发
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0