func NewLRUCache(size int, ttl time.Duration) Cache {
	lru := &lruCache{size: size,
		ttl:       ttl,
		cache:     make(map[string]*entry),
		evictList: list.New(),
	}
	return lru
}
func NewLRUCache(size int, ttl time.Duration) Cache {
	lru := &lruCache{size: size,
		ttl:       ttl,
		cache:     make(map[string]*entry),
		evictList: list.New(),
	}
	return lru
}
func NewLRUCache ( size int , ttl time . Duration ) Cache { lru := & lruCache { size : size , ttl : ttl , cache : make ( map [ string ] * entry ) , evictList : list . New ( ) , } return lru }
// Creates an LRUCache with maximum size, ttl for items.
Creates an LRUCache with maximum size ttl for items .