本文实例讲述了go语言操作redis连接池的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:
func newPool(server, password string) *redis.Pool {
nbsp;nbsp;nbsp; return redis.Pool{
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; MaxIdle: 3,
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; IdleTimeout: 240 * time.Second,
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; Dial: func () (redis.Conn, error) {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; c, err := redis.Dial("tcp", server)
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; if err != nil {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; return nil, err
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; }
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; if _, err := c.Do("AUTH", password); err != nil {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; c.Close()
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; return nil, err
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; }
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; return c, err
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; },
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; TestOnBorrow: func(c redis.Conn, t time.Time) error {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; _, err := c.Do("PING")
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; return err
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; },
nbsp;nbsp;nbsp; }
}
var (
nbsp;nbsp;nbsp; pool *redis.Pool
nbsp;nbsp;nbsp; redisServer = flag.String("redisServer", ":6379", "")
nbsp;nbsp;nbsp; redisPassword = flag.String("redisPassword", "", "")
)
nbsp;
func main() {
nbsp;nbsp;nbsp; flag.Parse()
nbsp;nbsp;nbsp; pool = newPool(*redisServer, *redisPassword)
nbsp;nbsp;nbsp; ...
}
希望本文所述对大家的Go语言程序设计有所帮助。 (编辑:成都站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|