lru

package
v1.9.25 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2021 License: Unlicense, MIT Imports: 5 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var F, E, W, I, D, T logg.LevelPrinter = logg.GetLogPrinterSet(subsystem)

Functions

This section is empty.

Types

type Cache

type Cache struct {
	// contains filtered or unexported fields
}

Cache provides a generic thread-safe lru cache that can be used for storing filters, blocks, etc.

func NewCache

func NewCache(capacity uint64) *Cache

NewCache return a cache with specified capacity, the cache's size can't exceed that given capacity.

func (*Cache) Get

func (c *Cache) Get(key interface{}) (cache.Value, error)

Get will return value for a given key, making the element the most recently accessed item in the process. Will return nil if the key isn't found.

func (*Cache) Len

func (c *Cache) Len() int

Len returns number of elements in the cache.

func (*Cache) Put

func (c *Cache) Put(key interface{}, value cache.Value) (e error)

Put inserts a given (key,value) pair into the cache, if the key already exists, it will replace value and update it to be most recent item in cache.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL