知行学院重新架构Golang版后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.8 KiB

package rediscontroll
import (
"context"
"flag"
"fmt"
"main_exam_server/config"
"main_exam_server/loges"
"github.com/go-redis/redis/v8"
)
var (
ctx = context.Background()
redisConfigFiles = flag.String("redisconfigFile", "iniconfig/redisConfig.ini", "数据库配置文件")
)
//开启数据库
func RedisInit() *redis.Client {
redisConfig := config.LoadRedisConfig(*redisConfigFiles)
if redisConfig != nil {
loges.LongInit("Redis配置文件读取错误!")
}
var opt = redis.Options{
Addr: config.RedisConfig.Redis_Host + ":" + config.RedisConfig.Redis_Port,
Password: "",
DB: config.RedisConfig.Redis_Db}
var client = redis.NewClient(&opt)
_, err := client.Ping(ctx).Result()
if err != nil {
errStr := fmt.Sprintf("连接redis出错,错误信息:%v", err)
loges.LongInit(errStr)
}
// fmt.Printf("Redis=========>%v\n", pong)
// fmt.Printf("%v======>%T", client, client)
return client
}
/**
*库操作
*/
//查询Redis库当前有多少个Key
func QueryKeyNumber(rdb *redis.Client) int64 {
// rdb := RedisInit()
num, err := rdb.DBSize(ctx).Result()
if err != nil {
errStr := fmt.Sprintf("数据库键数量获取错误:%v", err)
loges.LongInit(errStr)
return 0
}
return num
}
//清空当前数据库
func ClearingTheTeservoir(rdb *redis.Client) bool {
// rdb := RedisInit()
_, err := rdb.FlushDB(ctx).Result()
if err != nil {
errStr := fmt.Sprintf("清空当前Redis数据库错误:%v", err)
loges.LongInit(errStr)
return false
}
return true
}
//清空所有Redis数据
func ClearingTheTeservoirAll(rdb *redis.Client) bool {
// rdb := RedisInit()
_, err := rdb.FlushAll(ctx).Result()
if err != nil {
errStr := fmt.Sprintf("清空当前Redis数据库错误:%v", err)
loges.LongInit(errStr)
return false
}
return true
}