Version: v0.0.0-...-35ff7b4 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2021 License: BSD-3-Clause Imports: 2 Imported by: 0


Go Reference

Package lru implements an LRU cache.



Package lru implements an LRU cache.



This section is empty.


This section is empty.


This section is empty.


type Cache

type Cache struct {
	// contains filtered or unexported fields

Cache is an LRU cache, safe for concurrent access.

func New

func New(maxEntries int) *Cache

New returns a new cache with the provided maximum items.

func (*Cache) Add

func (c *Cache) Add(key, value interface{})

Add adds the provided key and value to the cache, evicting an old item if necessary.

func (*Cache) Get

func (c *Cache) Get(key interface{}) (value interface{}, ok bool)

Get fetches the key's value from the cache. The ok result will be true if the item was found.

func (*Cache) Len

func (c *Cache) Len() int

Len returns the number of items in the cache.

func (*Cache) RemoveOldest

func (c *Cache) RemoveOldest() (key, value interface{})

RemoveOldest removes the oldest item in the cache and returns its key and value. If the cache is empty, the empty string and nil are returned.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL