1
0
Fork 0
mirror of https://github.com/eosswedenorg/thalos synced 2026-06-16 04:24:56 +02:00
thalos/internal/cache/cache.go

31 lines
595 B
Go

package cache
import (
"context"
"time"
)
type Cache struct {
store Store
prefix string
}
// Create a new cache
func NewCache(prefix string, store Store) *Cache {
return &Cache{
store: store,
prefix: prefix,
}
}
func (cache *Cache) Get(ctx context.Context, key string, value any) error {
return cache.store.Get(ctx, cache.key(key), value)
}
func (cache *Cache) Set(ctx context.Context, key string, value any, ttl time.Duration) error {
return cache.store.Set(ctx, cache.key(key), value, ttl)
}
func (cache *Cache) key(key string) string {
return cache.prefix + "::" + key
}