This example describes the way the Go language operates Redis connection pooling. Share to everyone for your reference. The implementation methods are as follows:
Copy Code code as follows:
Func newpool (server, password string) *redis. Pool {
Return &redis. pool{
Maxidle:3,
idletimeout:240 * time. Second,
Dial:func () (Redis. Conn, error) {
C, err: = Redis. Dial ("TCP", server)
If Err!= nil {
return nil, err
}
If _, Err: = C.do ("AUTH", password); Err!= Nil {
C.close ()
return nil, err
}
return C, err
},
Testonborrow:func (c Redis. Conn, T time. Time) Error {
_, Err: = C.do ("PING")
return err
},
}
}
VAR (
Pool *redis. Pool
Redisserver = flag. String ("Redisserver", ": 6379", "")
Redispassword = flag. String ("Redispassword", "", "")
)
Func Main () {
Flag. Parse ()
Pool = Newpool (*redisserver, *redispassword)
...
}
I hope this article will help you with your go language program.