package common import ( "fmt" "github.com/go-redis/redis/v8" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" "github.com/spf13/viper" ) var DB *sqlx.DB var Redis *redis.Client func initMySQL() { host := viper.GetString("mysql.host") port := viper.GetString("mysql.port") database := viper.GetString("mysql.database") username := viper.GetString("mysql.username") password := viper.GetString("mysql.password") charset := viper.GetString("mysql.charset") dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true", username, password, host, port, database, charset) db, err := sqlx.Open("mysql", dsn) if err != nil { fmt.Printf("err:%#v", err) return } db.SetMaxOpenConns(20) db.SetMaxIdleConns(20) DB = db } func initRedis() { addr := viper.GetString("redis.addr") password := viper.GetString("redis.password") db := viper.GetInt("redis.db") poolsize := viper.GetInt("redis.poolsize") rdb := redis.NewClient(&redis.Options{ Addr: addr, Password: password, // 密码 DB: db, // 数据库 PoolSize: poolsize, // 连接池大小 }) Redis = rdb }