package dblogic import ( "os" "fmt" "blog/configs" "blog/core/sql" "blog/core/rediscli" "blog/models/tables" "github.com/go-redis/redis" "github.com/jinzhu/gorm" ) func M(serverName string, keys ...string) *gorm.DB { server := tables.GetServerConf(serverName) //环形库一定要带参数 sType := "main" if len(server) >= 6 && server[0:6] == "circle" { sType = "circle" } if sType == "circle" && len(keys) == 0 { fmt.Println("circle db must use circle key") os.Exit(-2) } //fmt.Println("server:"+server) conf, index := sysConfig.GetSqlConf(server, keys...) if conf == "" { fmt.Println("db config data not found") os.Exit(-3) } instKey := serverName if sType == "circle" { instKey = fmt.Sprintf("%s%d", instKey, index) } //fmt.Println(instKey) return sql.GetMysqlDb(conf, instKey) } func R(serverName ...string) *redis.Client{ key := tables.GetRdConf(serverName...) host, auth := sysConfig.GetRedisConf(key) return rediscli.GetRedis(host, auth) }