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 關注
- 115 瀏覽
添加回答
舉報