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