package models

import (
	"context"
	"fmt"
	"github.com/redis/go-redis/v9"
	"gopkg.in/ini.v1"
	"os"
)

var RedisDb *redis.Client

// 创建 redis 链接
func init() {
	defer func() {
		if err := recover(); err != nil {
			fmt.Sprintf("异常信息: %v\n", err)
		}
	}()

	var ctx = context.Background()

	config, iniErr := ini.Load("./conf/app.ini")
	if iniErr != nil {
		fmt.Printf("Fail to read file: %v", iniErr)
		os.Exit(1)
	}

	redisIp := config.Section("redis").Key("ip").String()
	redisPort := config.Section("mysql").Key("port").String()
	RedisDb = redis.NewClient(&redis.Options{
		Addr:     fmt.Sprintf("%v:%v", redisIp, redisPort),
		Password: "", // no password set
		DB:       0,  // use default DB
	})
	_, err := RedisDb.Ping(ctx).Result()
	if err != nil {
		panic(fmt.Sprintf("redis连接出错: %v", err))
	}
}
