electricity_bill_calc_service/cache/repository.go

34 lines
887 B
Go

package cache
import (
"electricity_bill_calc/config"
)
func CacheData[T interface{}](instance T, category string, key ...string) error {
var keys = make([]string, 0)
keys = append(keys, category)
keys = append(keys, key...)
cacheKey := CacheKey("cache", keys...)
if exists, _ := Exists(cacheKey); exists {
Delete(cacheKey)
}
return Cache(cacheKey, &instance, config.ServiceSettings.CacheLifeTime)
}
func RetreiveData[T interface{}](category string, key ...string) (*T, error) {
var keys = make([]string, 0)
keys = append(keys, category)
keys = append(keys, key...)
return Retreive[T](CacheKey("cache", keys...))
}
func AbolishCacheData(category string, key ...string) {
var keys = make([]string, 0)
keys = append(keys, category)
keys = append(keys, key...)
cacheKey := CacheKey("cache", keys...)
if exists, _ := Exists(cacheKey); exists {
Delete(cacheKey)
}
}