lru

package
v0.0.0-...-55ef06c Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2022 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

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) (bool, 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. The return value indicates whether items had to be evicted to make room for the new element.

Jump to

Keyboard shortcuts

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