diff --git a/pkg/cache/cache.go b/pkg/cache/cache.go index 69a3cc6..29ddaad 100644 --- a/pkg/cache/cache.go +++ b/pkg/cache/cache.go @@ -110,6 +110,16 @@ func (c *cache) Get(key string, val interface{}) error { if err := json.Unmarshal(recs[0].Value, val); err != nil { return err } + + // put it in the cache for future use + // set in the lru + rec := recs[0] + expires := time.Time{} + if rec.Expiry > time.Duration(0) { + expires = time.Now().Add(rec.Expiry) + } + c.LRU.Add(rec.Key, &item{key: rec.Key, val: rec.Value, expires: expires}) + return nil }