mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 18:26:16 +00:00
init
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"github.com/assimon/luuu/config"
|
||||
"github.com/assimon/luuu/util/log"
|
||||
"github.com/gookit/color"
|
||||
"github.com/spf13/viper"
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
"gorm.io/gorm/schema"
|
||||
"time"
|
||||
)
|
||||
|
||||
var Mdb *gorm.DB
|
||||
|
||||
// MysqlInit 数据库初始化
|
||||
func MysqlInit() {
|
||||
var err error
|
||||
Mdb, err = gorm.Open(mysql.Open(config.MysqlDns), &gorm.Config{
|
||||
NamingStrategy: schema.NamingStrategy{
|
||||
TablePrefix: viper.GetString("mysql_table_prefix"),
|
||||
SingularTable: true,
|
||||
},
|
||||
Logger: logger.Default.LogMode(logger.Error),
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if config.AppDebug {
|
||||
Mdb = Mdb.Debug()
|
||||
}
|
||||
sqlDB, err := Mdb.DB()
|
||||
if err != nil {
|
||||
color.Red.Printf("[store_db] mysql get DB,err=%s\n", err)
|
||||
panic(err)
|
||||
}
|
||||
sqlDB.SetMaxIdleConns(viper.GetInt("mysql_max_idle_conns"))
|
||||
sqlDB.SetMaxOpenConns(viper.GetInt("mysql_max_open_conns"))
|
||||
sqlDB.SetConnMaxLifetime(time.Hour * time.Duration(viper.GetInt("mysql_max_life_time")))
|
||||
err = sqlDB.Ping()
|
||||
if err != nil {
|
||||
color.Red.Printf("[store_db] mysql connDB err:%s", err.Error())
|
||||
panic(err)
|
||||
}
|
||||
log.Sugar.Debug("[store_db] mysql connDB success")
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/assimon/luuu/util/log"
|
||||
"github.com/go-redis/redis/v8"
|
||||
"github.com/gookit/color"
|
||||
"github.com/spf13/viper"
|
||||
"time"
|
||||
)
|
||||
|
||||
var Rdb *redis.Client
|
||||
|
||||
func RedisInit() {
|
||||
options := redis.Options{
|
||||
Addr: fmt.Sprintf(
|
||||
"%s:%s",
|
||||
viper.GetString("redis_host"),
|
||||
viper.GetString("redis_port")), // Redis地址
|
||||
DB: viper.GetInt("redis_db"), // Redis库
|
||||
PoolSize: viper.GetInt("redis_pool_size"), // Redis连接池大小
|
||||
MaxRetries: viper.GetInt("redis_max_retries"), // 最大重试次数
|
||||
IdleTimeout: time.Second * time.Duration(viper.GetInt("redis_idle_timeout")), // 空闲链接超时时间
|
||||
}
|
||||
if viper.GetString("redis_passwd") != "" {
|
||||
options.Password = viper.GetString("redis_passwd")
|
||||
}
|
||||
Rdb = redis.NewClient(&options)
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
pong, err := Rdb.Ping(ctx).Result()
|
||||
if err == redis.Nil {
|
||||
log.Sugar.Debug("[store_redis] Nil reply returned by Rdb when key does not exist.")
|
||||
} else if err != nil {
|
||||
color.Red.Printf("[store_redis] redis connRdb err,err=%s", err)
|
||||
panic(err)
|
||||
} else {
|
||||
log.Sugar.Debug("[store_redis] redis connRdb success,suc=%s", pong)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user