diff options
Diffstat (limited to 'internal/cache/cache.go')
-rw-r--r-- | internal/cache/cache.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/internal/cache/cache.go b/internal/cache/cache.go index 1d2d0533b..eb3744cfe 100644 --- a/internal/cache/cache.go +++ b/internal/cache/cache.go @@ -18,8 +18,28 @@ package cache +import ( + "time" + + "github.com/ReneKroon/ttlcache" +) + // Cache defines an in-memory cache that is safe to be wiped when the application is restarted type Cache interface { Store(k string, v interface{}) error Fetch(k string) (interface{}, error) } + +type cache struct { + c *ttlcache.Cache +} + +// New returns a new in-memory cache. +func New() Cache { + c := ttlcache.NewCache() + c.SetTTL(30 * time.Second) + cache := &cache{ + c: c, + } + return cache +} |