跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Gin 启动之后, 路由后面的 Handlers 数量是什么意思
未分類
24 9 月 2020

Gin 启动之后, 路由后面的 Handlers 数量是什么意思

Gin 启动之后, 路由后面的 Handlers 数量是什么意思

資深大佬 : richzhu 0

Handler 一直都是 4

大佬们好,用 Gin 以来一直有个问题,每次等到项目启动之后,每一条路由后面都有一个 (数量 Handlers )的显示,并且数量是 4, 如下图: Gin 启动之后, 路由后面的 Handlers 数量是什么意思

Handler 变成 1

问题发生于昨天,没想到这个项目越来越大,导致路由太多,就参照网上一个人的文章,把路由拆分了。 没想到,拆分后,所有的 Handlers 都变成了 1,如下图: Gin 启动之后, 路由后面的 Handlers 数量是什么意思

想问一下各位大佬,这样的话,会不会对我的项目性能产生影响~~~

顺便奉劝大家,不要随便相信网上的文章 T_T

拆分方式

拆分路由器的方式,如下图:

Gin 启动之后, 路由后面的 Handlers 数量是什么意思

大佬有話說 (4)

  • 資深大佬 : labulaka521

    应该是你的中间件数量+你的业务处理函数(1)
    也就是 RouterGroup 这个结构体的 Handlers 参数
    可以看看 gin 所使用的 httprouter

  • 主 資深大佬 : richzhu

    @labulaka521 中间件一直都只有 1 个呢,拆分之前是 4,拆分后就变成 1 了,请问这个从 4 变成了 1,对性能有影响嘛?

  • 資深大佬 : Abirdcfly

    显示这个部分在 debugPrintRoute 函数
    ““
    func debugPrintRoute( httpMethod, absolutePath string, handlers HandlersChain) {
    if IsDebugging() {
    nuHandlers := len(handlers)
    for _, h := range handlers{ //
    debugPrint(” %s”, nameOfFunction(h)) //这两行是我加的。看一下是啥就知道这 4 个是什么 handler 了。
    }
    handlerName := nameOfFunction(handlers.Last())
    if DebugPrintRouteFunc == nil {
    debugPrint(“%-6s %-25s –> %s (%d handlers)n”, httpMethod, absolutePath, handlerName, nuHandlers)
    } else {
    DebugPrintRouteFunc( httpMethod, absolutePath, handlerName, nuHandlers)
    }
    }
    }
    ““

    我这里除去那个业务逻辑函数外,剩下的 3 个 handler 是
    github.com/gin-gonic/gin.LoggerWithConfig.func1
    github.com/gin-gonic/gin.RecoveryWithWriter.func1
    github.com/gin-contrib/cors.New.func1

  • 主 資深大佬 : richzhu

    @Abirdcfly 真大佬!疑惑解决了~ 非常感谢

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具