package public import ( "log" util "app.yhyue.com/moapp/jybase/common" elastic "app.yhyue.com/moapp/jybase/es" m "app.yhyue.com/moapp/jybase/mongodb" "app.yhyue.com/moapp/jybase/mysql" "app.yhyue.com/moapp/jybase/redis" ) var ( DbConf *dbConf Mysql *mysql.Mysql BaseMysql *mysql.Mysql PushMysql *mysql.Mysql BaseService *mysql.Mysql GlobalCommonMysql *mysql.Mysql MQFW m.MongodbSim Mgo_Ent m.MongodbSim Mgo_Log m.MongodbSim Mgo_Bidding m.MongodbSim //Mgo_Qyfw m.MongodbSim Other elastic.Es Free elastic.Es //登录后的免费用户搜索使用 Doc elastic.Es ) type dbConf struct { Mongodb struct { Main *mgoConf Log *mgoConf Ent *mgoConf Qyfw *mgoConf Bidding *mgoConf Seo *mgoConf } Elasticsearch struct { Main *esConf Other *esConf Free *esConf Doc *esConf } Redis struct { Main *redisConf Login *redisConf } Mysql struct { Main *mysqlConf Push *mysqlConf Base *mysqlConf GlobalCommon *mysqlConf } } type mgoConf struct { Address string Size int DbName string ReplSet string UserName string Password string Collection string Collection_back string } type esConf struct { Version string Address string Size int UserName string Password string EsIndex string EsType string } type redisConf struct { Address string } type mysqlConf struct { DbName string Address string UserName string PassWord string MaxOpenConns int MaxIdleConns int } func init() { util.ReadConfig("./db.json", &DbConf) if DbConf != nil { if DbConf.Elasticsearch.Main != nil { elastic.NewEs(DbConf.Elasticsearch.Main.Version, DbConf.Elasticsearch.Main.Address, DbConf.Elasticsearch.Main.Size, DbConf.Elasticsearch.Main.UserName, DbConf.Elasticsearch.Main.Password) log.Println("初始化 elasticsearch") } if DbConf.Elasticsearch.Other != nil { Other = &elastic.EsV7{ Address: DbConf.Elasticsearch.Other.Address, UserName: DbConf.Elasticsearch.Other.UserName, Password: DbConf.Elasticsearch.Other.Password, Size: DbConf.Elasticsearch.Other.Size, } Other.Init() log.Println("初始化 Other elasticsearch") } if DbConf.Elasticsearch.Free != nil { Free = &elastic.EsV7{ Address: DbConf.Elasticsearch.Free.Address, UserName: DbConf.Elasticsearch.Free.UserName, Password: DbConf.Elasticsearch.Free.Password, Size: DbConf.Elasticsearch.Free.Size, } Free.Init() //es.InitElasticSizeByAuth(DbConf.Elasticsearch.Other.Address, DbConf.Elasticsearch.Other.Size, // DbConf.Elasticsearch.Other.UserName, DbConf.Elasticsearch.Other.Password) log.Println("初始化 Free elasticsearch") } if DbConf.Elasticsearch.Doc != nil { //es.InitElasticSizeByAuth(DbConf.Elasticsearch.Doc.Address, DbConf.Elasticsearch.Doc.Size, // DbConf.Elasticsearch.Doc.UserName, DbConf.Elasticsearch.Doc.Password) Doc = &elastic.EsV7{ Address: DbConf.Elasticsearch.Doc.Address, UserName: DbConf.Elasticsearch.Doc.UserName, Password: DbConf.Elasticsearch.Doc.Password, Size: DbConf.Elasticsearch.Doc.Size, } Doc.Init() log.Println("初始化 doc elasticsearch") } //初始化redis if DbConf.Redis.Main != nil { log.Println("初始化 redis") redis.InitRedisBySize(DbConf.Redis.Main.Address, 100, 30, 300) } // if DbConf.Mongodb.Main != nil { log.Println("初始化 mongodb main") MQFW = m.MongodbSim{ MongodbAddr: DbConf.Mongodb.Main.Address, Size: DbConf.Mongodb.Main.Size, DbName: DbConf.Mongodb.Main.DbName, ReplSet: DbConf.Mongodb.Main.ReplSet, } MQFW.InitPool() } if DbConf.Mongodb.Bidding != nil { log.Println("初始化 mongodb bidding") Mgo_Bidding = m.MongodbSim{ MongodbAddr: DbConf.Mongodb.Bidding.Address, Size: DbConf.Mongodb.Bidding.Size, DbName: DbConf.Mongodb.Bidding.DbName, ReplSet: DbConf.Mongodb.Bidding.ReplSet, UserName: DbConf.Mongodb.Bidding.UserName, Password: DbConf.Mongodb.Bidding.Password, } Mgo_Bidding.InitPool() } if DbConf.Mongodb.Ent != nil { log.Println("初始化 mongodb ent") Mgo_Ent = m.MongodbSim{ MongodbAddr: DbConf.Mongodb.Ent.Address, Size: DbConf.Mongodb.Ent.Size, DbName: DbConf.Mongodb.Ent.DbName, ReplSet: DbConf.Mongodb.Ent.ReplSet, UserName: DbConf.Mongodb.Ent.UserName, Password: DbConf.Mongodb.Ent.Password, } Mgo_Ent.InitPool() } if DbConf.Mongodb.Log != nil { log.Println("初始化 mongodb log") Mgo_Log = m.MongodbSim{ MongodbAddr: DbConf.Mongodb.Log.Address, Size: DbConf.Mongodb.Log.Size, DbName: DbConf.Mongodb.Log.DbName, ReplSet: DbConf.Mongodb.Log.ReplSet, UserName: DbConf.Mongodb.Log.UserName, Password: DbConf.Mongodb.Log.Password, } Mgo_Log.InitPool() } //if DbConf.Mongodb.Qyfw != nil { // log.Println("初始化 mongodb ent") // Mgo_Qyfw = m.MongodbSim{ // MongodbAddr: DbConf.Mongodb.Qyfw.Address, // Size: DbConf.Mongodb.Qyfw.Size, // DbName: DbConf.Mongodb.Qyfw.DbName, // } // Mgo_Qyfw.InitPool() //} if DbConf.Mysql.Main != nil { log.Println("初始化 mysql") Mysql = &mysql.Mysql{ Address: DbConf.Mysql.Main.Address, UserName: DbConf.Mysql.Main.UserName, PassWord: DbConf.Mysql.Main.PassWord, DBName: DbConf.Mysql.Main.DbName, MaxOpenConns: DbConf.Mysql.Main.MaxOpenConns, MaxIdleConns: DbConf.Mysql.Main.MaxIdleConns, } Mysql.Init() } // if DbConf.Mysql.Base != nil { log.Println("初始化 BaseMysql") BaseMysql = &mysql.Mysql{ Address: DbConf.Mysql.Base.Address, UserName: DbConf.Mysql.Base.UserName, PassWord: DbConf.Mysql.Base.PassWord, DBName: DbConf.Mysql.Base.DbName, MaxOpenConns: DbConf.Mysql.Base.MaxOpenConns, MaxIdleConns: DbConf.Mysql.Base.MaxIdleConns, } BaseMysql.Init() } if DbConf.Mysql.GlobalCommon != nil { log.Println("初始化 GlobalCommonMysql") GlobalCommonMysql = &mysql.Mysql{ Address: DbConf.Mysql.GlobalCommon.Address, UserName: DbConf.Mysql.GlobalCommon.UserName, PassWord: DbConf.Mysql.GlobalCommon.PassWord, DBName: DbConf.Mysql.GlobalCommon.DbName, MaxOpenConns: DbConf.Mysql.GlobalCommon.MaxOpenConns, MaxIdleConns: DbConf.Mysql.GlobalCommon.MaxIdleConns, } GlobalCommonMysql.Init() } } }