连接池

连接池_第1张图片

func init() {
    DBHelper, err = gorm.Open("mysql", "root:root@(115.159.59.129:3306)/test?charset=utf8&parseTime=True&loc=Local")
    DBHelper.SingularTable(true)
    DBHelper.DB().SetMaxIdleConns(10)  //最大空闲时间
    DBHelper.DB().SetMaxOpenConns(100) //最大打开连接
    DBHelper.DB().SetConnMaxLifetime(time.Hour) //连接最长存活时间
    if err != nil {
        panic(err)
    }
}

简单连接池,信号处理,优雅退出

func main() {
    c := make(chan os.Signal)
    go func() {
        ctx, _ := context.WithTimeout(context.Background(), time.Second*5)
        select {
        case <-ctx.Done(): //到达5秒会写入信号,外层就会终止阻塞
            c <- os.Interrupt
        }
    }()

    signal.Notify(c)
    s := <-c //当检测到信号就会结束阻塞
    fmt.Println(s)
}


来自为知笔记(Wiz)


你可能感兴趣的:(连接池)