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

30 lines
532 B
Go

package cache
import (
"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(key string, value any) error {
return cache.store.Get(cache.key(key), value)
}
func (cache *Cache) Set(key string, value any, ttl time.Duration) error {
return cache.store.Set(cache.key(key), value, ttl)
}
func (cache *Cache) key(key string) string {
return cache.prefix + "::" + key
}