From ae0206e6c57b6cfc758ee0633cc1b825a63c7113 Mon Sep 17 00:00:00 2001 From: haseth Date: Thu, 12 Mar 2020 08:16:08 +0530 Subject: [PATCH] added AND ('&') operation. --- cache.go | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/cache.go b/cache.go index db88d2f..628035d 100644 --- a/cache.go +++ b/cache.go @@ -125,11 +125,9 @@ func (c *cache) Get(k string) (interface{}, bool) { c.mu.RUnlock() return nil, false } - if item.Expiration > 0 { - if time.Now().UnixNano() > item.Expiration { - c.mu.RUnlock() - return nil, false - } + if item.Expiration > 0 && time.Now().UnixNano() > item.Expiration { + c.mu.RUnlock() + return nil, false } c.mu.RUnlock() return item.Object, true @@ -171,10 +169,8 @@ func (c *cache) get(k string) (interface{}, bool) { return nil, false } // "Inlining" of Expired - if item.Expiration > 0 { - if time.Now().UnixNano() > item.Expiration { - return nil, false - } + if item.Expiration > 0 && time.Now().UnixNano() > item.Expiration { + return nil, false } return item.Object, true } @@ -1042,10 +1038,8 @@ func (c *cache) Items() map[string]Item { now := time.Now().UnixNano() for k, v := range c.items { // "Inlining" of Expired - if v.Expiration > 0 { - if now > v.Expiration { - continue - } + if v.Expiration > 0 && now > v.Expiration { + continue } m[k] = v }