Skip to content
/ ttlru Public

A simple, goroutine-safe, cache with a global TTL, a fixed size and an LRU eviction policy for Go (golang)

License

Notifications You must be signed in to change notification settings

zvelo/ttlru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ttlru

GoDoc Circle CI Coverage Status

Package ttlru provides a simple, goroutine safe, cache with a fixed number of entries. Each entry has a per-cache defined TTL. This TTL is reset on both modification and access of the value. As a result, if the cache is full, and no items have expired, when adding a new item, the item with the soonest expiration will be evicted.

It is based on the LRU implementation in golang-lru: github.com/hashicorp/golang-lru

Which in turn is based on the LRU implementation in groupcache: github.com/golang/groupcache/lru

It should be imported as zvelo.io/ttlru.