本文实例讲述了go语言操作redis连接池的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:

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)

    …

}

希望本文所述对大家的Go语言程序设计有所帮助。

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。