本文整理汇总了Golang中github.com/jsix/gof.Config.Close方法的典型用法代码示例。如果您正苦于以下问题:Golang Config.Close方法的具体用法?Golang Config.Close怎么用?Golang Config.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jsix/gof.Config
的用法示例。
在下文中一共展示了Config.Close方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: createRedisPool
func createRedisPool(c *gof.Config) *redis.Pool {
redisHost := c.GetString("redis_host")
redisDb := c.GetString("redis_db")
redisPort := c.GetInt("redis_port")
redisAuth := c.GetString("redis_auth")
if redisPort <= 0 {
redisPort = 6379
}
redisMaxIdle := c.GetInt("redis_maxIdle")
if redisMaxIdle <= 0 {
redisMaxIdle = 10000
}
redisIdleTimeout := c.GetInt("redis_idleTimeout")
if redisIdleTimeout <= 0 {
redisIdleTimeout = 20000
}
return &redis.Pool{
MaxIdle: redisMaxIdle,
IdleTimeout: time.Duration(redisIdleTimeout) * time.Second,
Dial: func() (redis.Conn, error) {
dial:
c, err := redis.Dial("tcp", fmt.Sprintf("%s:%d", redisHost, redisPort))
if err != nil {
for {
log.Printf("[ Redis] - redis(%s:%d) dial failed - %s , Redial after 5 seconds\n",
redisHost, redisPort, err.Error())
time.Sleep(time.Second * 5)
goto dial
}
}
if len(redisAuth) != 0 {
if _, err := c.Do("AUTH", redisAuth); err != nil {
c.Close()
log.Fatalf("[ Redis][ AUTH] - %s\n", err.Error())
}
}
if _, err = c.Do("SELECT", redisDb); err != nil {
c.Close()
log.Fatalf("[ Redis][ SELECT] - redis(%s:%d) select db failed - %s",
redisHost, redisPort, err.Error())
}
return c, err
},
TestOnBorrow: func(c redis.Conn, t time.Time) error {
_, err := c.Do("PING")
return err
},
}
}