cache

package
v2.8.1-rc3 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2026 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Loader

type Loader[T any] func(prev T) (T, error)

Loader loads a fresh value when the cache is stale. Prev is the last successfully cached value, read immediately before the load runs.

type ReuseEvaluator

type ReuseEvaluator[T any] func(value T) bool

ReuseEvaluator reports whether a cached value may still be used.

type SingleFlightCache

type SingleFlightCache[T any] struct {
	// contains filtered or unexported fields
}

func NewSingleFlightCache

func NewSingleFlightCache[T any](metricsPrefix string) *SingleFlightCache[T]

func (*SingleFlightCache[T]) Collectors

func (c *SingleFlightCache[T]) Collectors() []prometheus.Collector

func (*SingleFlightCache[T]) PeekOrLoad

func (c *SingleFlightCache[T]) PeekOrLoad(ctx context.Context, canReuse ReuseEvaluator[T], loader Loader[T]) (T, error)

PeekOrLoad returns the cached value when canReuse allows it. Otherwise it loads a new value via loader, passing the current cache entry as prev.

func (*SingleFlightCache[T]) Set

func (c *SingleFlightCache[T]) Set(value T)

Jump to

Keyboard shortcuts

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