<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Golang-PoolGolang 通用連接池庫

          聯(lián)合創(chuàng)作 · 2023-09-29 14:10

          Golang 實現(xiàn)的連接池

          功能:

          • 連接池中連接類型為interface{},使得更加通用

          • 鏈接的最大空閑時間,超時的鏈接將關閉丟棄,可避免空閑時鏈接自動失效問題

          • 使用channel處理池中的鏈接,高效

          基本用法

          //factory 創(chuàng)建連接的方法
          factory := func() (interface{}, error) { return net.Dial("tcp", "127.0.0.1:4000") }
          
          //close 關閉鏈接的方法
          close := func(v interface{}) error { return v.(net.Conn).Close() }
          
          //創(chuàng)建一個連接池: 初始化5,最大鏈接30
          poolConfig := &pool.PoolConfig{
              InitialCap: 5,
              MaxCap:     30,
              Factory:    factory,
              Close:      close,
              //鏈接最大空閑時間,超過該時間的鏈接 將會關閉,可避免空閑時鏈接EOF,自動失效的問題
              IdleTimeout: 15 * time.Second,
          }
          p, err := pool.NewChannelPool(poolConfig)
          if err != nil {
              fmt.Println("err=", err)
          }
          
          //從連接池中取得一個鏈接
          v, err := p.Get()
          
          //do something
          //conn=v.(net.Conn)
          
          //將鏈接放回連接池中
          p.Put(v)
          
          //釋放連接池中的所有鏈接
          p.Release()
          
          //查看當前鏈接中的數(shù)量
          current := p.Len()
          瀏覽 30
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文字幕一区二区三区乱码 | 天天草天天射天天干 | 午夜狂拍偷拍伊人之大香蕉 | 东京热福利视频 | 婷婷综合久久五月 |