cache

package module
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2025 License: MIT Imports: 3 Imported by: 0

README

cache

Simple cache with using different libraries.

go get github.com/worldline-go/cache

Usage

priceCache, err := cache.New[string, int](ctx,
    memory.Store,
    cache.WithMaxItems(100),
    cache.WithTTL(60 * time.Second),
)

err := priceCache.Set(ctx, "key", 100)
v, ok, err := vcache.Get(ctx, "key")

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrStoreNotExist = errors.New("store does not exist")

Functions

This section is empty.

Types

type Cacher

type Cacher[K comparable, V any] interface {
	Get(ctx context.Context, key K) (V, bool, error)
	Set(ctx context.Context, key K, value V) error
	Delete(ctx context.Context, key K) error
}

func New

func New[K comparable, V any, C any](ctx context.Context, store Store[K, V, C], opts ...Option[C]) (Cacher[K, V], error)

type Option

type Option[T any] func(*option[T])

func WithStoreConfig added in v0.2.0

func WithStoreConfig[T any](cfg T) Option[T]

type Store added in v0.2.0

type Store[K comparable, V any, C any] func(ctx context.Context, config C) (Cacher[K, V], error)

Directories

Path Synopsis
store

Jump to

Keyboard shortcuts

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