1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package global
- import (
- "github.com/qiniu/qmgo"
- "sync"
- "github.com/songzhibin97/gkit/cache/local_cache"
- "server/utils/timer"
- "golang.org/x/sync/singleflight"
- "go.uber.org/zap"
- "server/config"
- "github.com/redis/go-redis/v9"
- "github.com/spf13/viper"
- "gorm.io/gorm"
- )
- var (
- GVA_DB *gorm.DB
- GVA_DBList map[string]*gorm.DB
- GVA_REDIS redis.UniversalClient
- GVA_MONGO *qmgo.QmgoClient
- GVA_CONFIG config.Server
- GVA_VP *viper.Viper
- // GVA_LOG *oplogging.Logger
- GVA_LOG *zap.Logger
- GVA_Timer timer.Timer = timer.NewTimerTask()
- GVA_Concurrency_Control = &singleflight.Group{}
- BlackCache local_cache.Cache
- lock sync.RWMutex
- )
- // GetGlobalDBByDBName 通过名称获取db list中的db
- func GetGlobalDBByDBName(dbname string) *gorm.DB {
- lock.RLock()
- defer lock.RUnlock()
- return GVA_DBList[dbname]
- }
- // MustGetGlobalDBByDBName 通过名称获取db 如果不存在则panic
- func MustGetGlobalDBByDBName(dbname string) *gorm.DB {
- lock.RLock()
- defer lock.RUnlock()
- db, ok := GVA_DBList[dbname]
- if !ok || db == nil {
- panic("db no init")
- }
- return db
- }
|