1.Redis连接池创建
func GetRedisDBPool(addr, pwd string, db int) *redis.Pool { return &redis.Pool{ MaxIdle: 6, IdleTimeout: 240 * time.Second, Dial: func() (redis.Conn, error) { opts := []redis.DialOption{ redis.DialConnectTimeout(5 * time.Second), redis.DialReadTimeout(2 * time.Second), redis.DialWriteTimeout(2 * time.Second), redis.DialDatabase(db), redis.DialPassword(pwd), } c, err := redis.Dial("tcp", addr, opts...) if err != nil { fmt.Printf("connect %s error %s", addr, err.Error()) return nil, err } return c, err }, TestOnBorrow: func(c redis.Conn, t time.Time) error { _, err := c.Do("PING") return err }, } }
2.mysql 连接
func GetDbByHost(user string, password string, host string,) (*gorm.DB, error){ var mysql = fmt.Sprintf( "%s:%s@tcp(%s:3306)/shop?charset=utf8mb4&parseTime=True&loc=Local", user, password, host, ) log.Print(mysql) DB, err := gorm.Open("mysql", mysql) if err != nil { return nil, err } DB.DB().SetMaxIdleConns(10) DB.DB().SetMaxOpenConns(100) return DB, nil }
----------------------------------【喜欢打赏】-------------------------------------------
小主,辛苦啦!文章棒棒哒,赏杯咖啡吧...
----------------------------------【喜欢打赏】-------------------------------------------
来源:https://www.cnblogs.com/tomtellyou/p/12302273.html