32 lines
986 B
Go
32 lines
986 B
Go
|
|
// Package impl 实现层,负责初始化各种服务连接
|
||
|
|
package impl
|
||
|
|
|
||
|
|
import (
|
||
|
|
"git.apinb.com/bsm-apps/feedback/internal/config"
|
||
|
|
"git.apinb.com/bsm-sdk/core/cache/redis"
|
||
|
|
"git.apinb.com/bsm-sdk/core/with"
|
||
|
|
cache "github.com/patrickmn/go-cache"
|
||
|
|
clientv3 "go.etcd.io/etcd/client/v3"
|
||
|
|
"gorm.io/gorm"
|
||
|
|
)
|
||
|
|
|
||
|
|
var (
|
||
|
|
RedisService *redis.RedisClient // Redis缓存服务
|
||
|
|
EtcdService *clientv3.Client // Etcd服务发现客户端
|
||
|
|
DBService *gorm.DB // 数据库服务
|
||
|
|
MemorySerice *cache.Cache // 内存缓存服务
|
||
|
|
)
|
||
|
|
|
||
|
|
// NewImpl 初始化各种服务连接
|
||
|
|
// 包括内存缓存、Redis缓存、数据库连接和Etcd服务发现
|
||
|
|
func NewImpl() {
|
||
|
|
// 初始化内存缓存服务
|
||
|
|
MemorySerice = with.Memory(nil)
|
||
|
|
// 初始化Redis缓存服务
|
||
|
|
RedisService = with.RedisCache(config.Spec.Cache)
|
||
|
|
// 初始化数据库连接
|
||
|
|
DBService = with.Databases(config.Spec.Databases, nil)
|
||
|
|
// 初始化Etcd服务发现客户端
|
||
|
|
EtcdService = with.Etcd(config.Spec.Etcd)
|
||
|
|
}
|