YiTao/model/redis.go
2024-11-09 14:59:27 +08:00

33 lines
587 B
Go

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()
}