31 lines
718 B
Go
31 lines
718 B
Go
package cache
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
const (
|
|
CacheFolderToken = "token"
|
|
CacheFolderSessions = "session"
|
|
)
|
|
|
|
func buildKey(folder, key string) string {
|
|
return fmt.Sprintf("%s:%s", folder, key)
|
|
}
|
|
|
|
func GetFromCache(ctx context.Context, redis *redis.Client, folder, key string) string {
|
|
return redis.Get(ctx, buildKey(folder, key)).Val()
|
|
}
|
|
|
|
func SaveToCache(ctx context.Context, redis *redis.Client, folder, key, value string, ttl time.Duration) error {
|
|
return redis.Set(ctx, buildKey(folder, key), value, ttl).Err()
|
|
}
|
|
|
|
func DeleteFromCache(ctx context.Context, redis *redis.Client, folder, key string) error {
|
|
return redis.Del(ctx, buildKey(folder, key)).Err()
|
|
}
|