db.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /*
  2. 初始数据库应用
  3. */
  4. package init
  5. import (
  6. "jyBXCore/entity"
  7. "log"
  8. "strings"
  9. . "app.yhyue.com/moapp/jybase/es"
  10. "app.yhyue.com/moapp/jybase/mongodb"
  11. "app.yhyue.com/moapp/jybase/mysql"
  12. "app.yhyue.com/moapp/jybase/redis"
  13. )
  14. var (
  15. MainMysql *mysql.Mysql
  16. BaseMysql *mysql.Mysql
  17. Mgo mongodb.MongodbSim
  18. MgoBidding mongodb.MongodbSim //标讯详情等(第一版没用)
  19. NoLoginEs Es
  20. )
  21. func MongoDBInit(em *entity.Mongo) {
  22. //初始化 mongodb
  23. if em.Main.Address != "" {
  24. log.Println("--初始化 mongodb--")
  25. Mgo = mongodb.MongodbSim{
  26. MongodbAddr: em.Main.Address,
  27. Size: em.Main.Size,
  28. DbName: em.Main.DbName,
  29. }
  30. Mgo.InitPool()
  31. }
  32. //
  33. if em.Bidding.Address != "" {
  34. log.Println("--初始化 mongodb bidding--")
  35. MgoBidding = mongodb.MongodbSim{
  36. MongodbAddr: em.Bidding.Address,
  37. Size: em.Bidding.Size,
  38. DbName: em.Bidding.DbName,
  39. UserName: em.Bidding.UserName,
  40. Password: em.Bidding.Password,
  41. }
  42. MgoBidding.InitPool()
  43. }
  44. }
  45. func MysqlInit(mm *entity.Mysql) {
  46. //初始化 mysql-main
  47. if mm.Main.Address != "" {
  48. log.Println("--初始化 mysql--")
  49. MainMysql = &mysql.Mysql{
  50. Address: mm.Main.Address,
  51. UserName: mm.Main.UserName,
  52. PassWord: mm.Main.Password,
  53. DBName: mm.Main.DbName,
  54. MaxOpenConns: mm.Main.MaxOpenConns,
  55. MaxIdleConns: mm.Main.MaxIdleConns,
  56. }
  57. MainMysql.Init()
  58. }
  59. //初始化 mysql-base
  60. if mm.Base.Address != "" {
  61. log.Println("--初始化 tidb--")
  62. BaseMysql = &mysql.Mysql{
  63. Address: mm.Base.Address,
  64. UserName: mm.Base.UserName,
  65. PassWord: mm.Base.Password,
  66. DBName: mm.Base.DbName,
  67. MaxOpenConns: mm.Base.MaxOpenConns,
  68. MaxIdleConns: mm.Base.MaxIdleConns,
  69. }
  70. BaseMysql.Init()
  71. }
  72. }
  73. func RedisInit(rm *entity.RedisStuct) {
  74. //初始化 redis
  75. if len(rm.Addr) > 0 {
  76. log.Println("--初始化 redis--")
  77. redis.InitRedisBySize(strings.Join(rm.Addr, ","), 100, 30, 300)
  78. }
  79. }
  80. func EsInit(es *entity.EsStruct) {
  81. //初始化 elasticsearch
  82. if es.Addr != "" {
  83. log.Println("--初始化 elasticsearch--")
  84. NewEs(es.Version, es.Addr, es.Size, es.UserName, es.Password)
  85. }
  86. }
  87. func NoLoginEsInit(es *entity.EsStruct) {
  88. if es.Addr != "" {
  89. log.Println("--初始化 nologin elasticsearch--")
  90. NoLoginEs = &EsV7{
  91. Address: es.Addr,
  92. Size: es.Size,
  93. UserName: es.UserName,
  94. Password: es.Password,
  95. }
  96. NoLoginEs.Init()
  97. }
  98. }