1 回答

TA贡献1803条经验 获得超6个赞
可能,您的意图几乎没有开销。
每当您查询服务器的 url 时,Webserver 都会执行 Go 函数。如果这意味着执行 sql 请求 - 它将被执行并关闭连接。网络服务器返回结果,您的服务器和客户端之间的通信结束。
我可以建议,因为我相信你想提高你的 gin-gonic 性能是在 Gin 中使用并发 DB 查询执行。
messages := make(chan string)
router.GET("/db_connection",func(c *gin.Context){
c.Copy()
go func(
connectDB()
<-messages
){}()
data, err := allUsers()
if err != nil {
log.Println(err)
return
}
results := struct {
Count int `json:"count"`
Data []User `json:"data"`
}{
Count: len(data),
Data: data,
}
c.JSON(200, results)
go func(
connectDB()
<-messages
){}()
})
- 1 回答
- 0 关注
- 126 浏览
添加回答
举报