使用的sqlx框架,设置连接池无效,折磨了一晚上了,求大佬指点

zxmin · 2020-01-07 20:19:39 · 1412 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2020-01-07 20:19:39 的主题,其中的信息可能已经有所发展或是发生改变。

以下为配置代码:

var DbSource *sqlx.DB

func init() {
    DbSource = sqlx.MustConnect("postgres", dataSourceConfig)
    DbSource.SetConnMaxLifetime(1 * time.Minute)
    DbSource.SetMaxIdleConns(20)
    DbSource.SetMaxOpenConns(80)
}


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1412 次点击  
加入收藏 微博
6 回复  |  直到 2020-01-14 11:29:21
zxmin
zxmin · #1 · 5年之前

启动的话,使用postgres查询,只有一个连接数

heyHui2018
heyHui2018 · #2 · 5年之前
zxminzxmin #1 回复

启动的话,使用postgres查询,只有一个连接数

你的想法是,设置了idleconns和openconns,立马产生20或80条连接?

zxmin
zxmin · #3 · 5年之前
heyHui2018heyHui2018 #2 回复

#1楼 @zxmin 你的想法是,设置了idleconns和openconns,立马产生20或80条连接?

应该是项目启动20条,然后最大不超过80条,闲置超过1分钟维持20条。

heyHui2018
heyHui2018 · #4 · 5年之前
zxminzxmin #3 回复

#2楼 @heyHui2018 应该是项目启动20条,然后最大不超过80条,闲置超过1分钟维持20条。

但凡谷歌过不至于那么想啊,啥都没干先产生20条连接,不浪费吗

zxmin
zxmin · #5 · 5年之前
heyHui2018heyHui2018 #4 回复

#3楼 @zxmin 但凡谷歌过不至于那么想啊,啥都没干先产生20条连接,不浪费吗

哎 心累的要死 真的是 我都不知道那个空闲数量 还有一个空闲超时时间 设置来干嘛 不知道什么情况下生效 有用 空闲情况直接连接数掉到1

lorenwe
lorenwe · #6 · 5年之前

设置是生效的,每次使用时从连接池里取出一条连接,用完后又放回,如果你单机测试是测不出来的,要测出来只能通过协程同时取出多条连接,取出连接读取数据并且还要暂时不放回连接池,那么你再去查看数据库连接数量就可以看到同时保持了多个连接,注意第一次启动是不会去连接数据库的,只有要使用了后才会去主动连接,连接后就根据你配置的是选择释放还是继续保持,这些坑我都是踩过的,所以放心楼主,不会有问题

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传