package model import ( "context" "time" "github.com/redis/go-redis/v9" ) var RDB *redis.Client // 连接到 redis func ConnectToRedis(dsn string) *redis.Client { opt, err := redis.ParseURL(dsn) if err != nil { panic(err) } rdb := redis.NewClient(opt) RDB = rdb return rdb } func RedisRemember(key string, timeout int, funct func() interface{}) string { ctx := context.Background() if RDB.Exists(ctx, key).Val() == 0 { data := funct() RDB.Set(ctx, key, data, time.Duration(timeout)*time.Second) return RDB.Get(ctx, key).Val() } return RDB.Get(ctx, key).Val() }