lru

package
v0.0.0-...-1173c81 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2023 License: MIT Imports: 1 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 {

	// optiinal , evict key callback func
	OnEvicted func(key string, value Value)
	// contains filtered or unexported fields
}

LRU Cache, not safe for concurrent access. LRU = hashmap + dual

func New

func New(maxBytes int64, onEvicted func(string, Value)) *Cache

func (*Cache) EvictKey

func (c *Cache) EvictKey()

Evict key which access less than usual

func (*Cache) Get

func (c *Cache) Get(key string) (value Value, ok bool)

func (*Cache) Len

func (c *Cache) Len() int

func (*Cache) Set

func (c *Cache) Set(key string, value Value)

Set key if exist

type Value

type Value interface {
	Len() int
}

Jump to

Keyboard shortcuts

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