在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:pool开源软件地址:https://gitee.com/silenceper/pool开源软件介绍:poolGolang 实现的连接池 功能:
基本用法//factory 创建连接的方法factory := func() (interface{}, error) { return net.Dial("tcp", "127.0.0.1:4000") }//close 关闭连接的方法close := func(v interface{}) error { return v.(net.Conn).Close() }//ping 检测连接的方法//ping := func(v interface{}) error { return nil }//创建一个连接池: 初始化5,最大空闲连接是20,最大并发连接30poolConfig := &pool.Config{ InitialCap: 5,//资源池初始连接数 MaxIdle: 20,//最大空闲连接数 MaxCap: 30,//最大并发连接数 Factory: factory, Close: close, //Ping: ping, //连接最大空闲时间,超过该时间的连接 将会关闭,可避免空闲时连接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()//查看当前连接中的数量current := p.Len() 注:该连接池参考 https://github.com/fatih/pool 实现,改变以及增加原有的一些功能。 LicenseThe MIT License (MIT) - see LICENSE for more details |
请发表评论