Files
easygoadmin/utils/redis.go
yaoyilin 1b36bd8fbe feat: 初始化项目
初始化项目
2022-10-31 22:29:16 +08:00

58 lines
1008 B
Go

/**
* 数据库连接工具
* @author
* @since 2021/9/8
* @File : db
*/
package utils
import (
"easygoadmin/library/cfg"
"fmt"
"github.com/go-redis/redis/v8"
_ "github.com/go-sql-driver/mysql"
"sync"
"time"
)
type RedisHelper struct {
*redis.Client
}
var redisHelper *RedisHelper
var redisOnce sync.Once
func GetRedisHelper() *RedisHelper {
return redisHelper
}
func NewRedisHelper() *redis.Client {
// 获取配置实例
config := cfg.Instance()
addr := fmt.Sprintf("%s:%d", config.RedisCfg.Addr, config.RedisCfg.Port)
rdb := redis.NewClient(&redis.Options{
Addr: addr,
Password: "",
DB: int(config.RedisCfg.Db),
DialTimeout: 10 * time.Second,
ReadTimeout: 30 * time.Second,
WriteTimeout: 30 * time.Second,
PoolSize: 10,
PoolTimeout: 30 * time.Second,
})
redisOnce.Do(func() {
rdh := new(RedisHelper)
rdh.Client = rdb
redisHelper = rdh
})
return rdb
}
func init() {
fmt.Println("初始化并连接redis")
NewRedisHelper()
}