之前使用的是单connection, 在实际应用中经常需要使用到连接池的功能
但是redigo对于连接池支持稍弱
连接池
应用程序调用Get方法从池中获取连接,并使用连接的Close方法将连接的资源返回到池。
提供方法:
1.func NewPool
创建新池 备注: 该方法将会在后面的版本移除,不建议使用
2.func (*Pool) ActiveCount
返回active的连接数,包含空闲的和正在使用的
3.func (*Pool) Close
关闭连接
4.func (*Pool) Get
获取一个连接
5.func (*Pool) GetContext
GetContext使用提供的上下文获取连接
6.func (*Pool) IdleCount
空闲连接数
7.func (*Pool) Stats
连接池统计信息
例如:
func newPool(addr string) *redis.Pool {
return &redis.Pool{
MaxIdle: 3,
IdleTimeout: 240 * time.Second,
// Dial or DialContext must be set. When both are set, DialContext takes precedence over Dial.
Dial: func () (redis.Conn, error) { return redis.Dial("tcp", addr) },
}
}
var (
pool *redis.Pool
redisServer = flag.