package db import ( "github.com/garyburd/redigo/redis" "time" ) var RedisPool *redis.Pool //conf *conf.ServerConf func ConnectRedis(db int, auth, address string) error { RedisPool = &redis.Pool{ //最大活跃连接数,0代表无限 MaxActive: 888, MaxIdle: 20, //闲置连接的超时时间 IdleTimeout: time.Second * 100, //定义拨号获得连接的函数 Dial: func() (redis.Conn, error) { option := []redis.DialOption{redis.DialDatabase(db)} if auth != "" { option = append(option, redis.DialPassword(auth)) } return redis.Dial("tcp",address, option...) }, } return nil } func CloseRedis() { RedisPool.Close() } func HKEYS(args ...interface{}) (reply interface{}, err error) { conn := RedisPool.Get() defer conn.Close() return conn.Do("HKEYS", args) } func HMSET(args ...interface{}) (reply interface{}, err error) { conn := RedisPool.Get() defer conn.Close() return conn.Do("HMSET", args) }