component.go 917 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package mdb
  2. import (
  3. "github.com/go-redis/redis/v8"
  4. mhayaMongo "github.com/mhaya/components/mongo"
  5. clog "github.com/mhaya/logger"
  6. cactor "github.com/mhaya/net/actor"
  7. "go.mongodb.org/mongo-driver/mongo"
  8. )
  9. type ActorDB struct {
  10. cactor.Base
  11. }
  12. var (
  13. MDB *mongo.Database
  14. RDB redis.UniversalClient
  15. )
  16. func (p *ActorDB) AliasID() string {
  17. return "db"
  18. }
  19. // OnInit Actor初始化前触发该函数
  20. func (p *ActorDB) OnInit() {
  21. mongo := p.App().Find(mhayaMongo.Name).(*mhayaMongo.Component)
  22. if mongo == nil {
  23. clog.DPanicf("[component = %s] not found.", mhayaMongo.Name)
  24. }
  25. // 获取 db_id = "center_db_1" 的配置
  26. dbID := p.App().Settings().GetConfig("db_id_list").GetString("game_db_id")
  27. MDB = mongo.GetDb(dbID)
  28. if MDB == nil {
  29. clog.Panic("game_db_id not found")
  30. }
  31. RDB = redis.NewUniversalClient(&redis.UniversalOptions{
  32. Addrs: []string{"127.0.0.1:6379"},
  33. Password: "",
  34. DB: 0,
  35. })
  36. }