kvcache

package
v0.0.0-...-3633c1a Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2021 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Key

type Key interface {
	Hash() []byte
}

Key is the interface that every key in LRU Cache should implement.

type SimpleLRUCache

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

SimpleLRUCache is a simple least recently used cache, not thread-safe, use it carefully.

func NewSimpleLRUCache

func NewSimpleLRUCache(capacity uint, guard float64, quota uint64) *SimpleLRUCache

NewSimpleLRUCache creates a SimpleLRUCache object, whose capacity is "capacity". NOTE: "capacity" should be a positive value.

func (*SimpleLRUCache) Delete

func (l *SimpleLRUCache) Delete(key Key)

Delete deletes the key-value pair from the LRU Cache.

func (*SimpleLRUCache) DeleteAll

func (l *SimpleLRUCache) DeleteAll()

DeleteAll deletes all elements from the LRU Cache.

func (*SimpleLRUCache) Get

func (l *SimpleLRUCache) Get(key Key) (value Value, ok bool)

Get tries to find the corresponding value according to the given key.

func (*SimpleLRUCache) Put

func (l *SimpleLRUCache) Put(key Key, value Value)

Put puts the (key, value) pair into the LRU Cache.

func (*SimpleLRUCache) Size

func (l *SimpleLRUCache) Size() int

Size gets the current cache size.

type Value

type Value interface {
}

Value is the interface that every value in LRU Cache should implement.

Jump to

Keyboard shortcuts

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