cache

package
v4.47.9 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2022 License: MIT Imports: 10 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App[K any, V any] struct {
	// contains filtered or unexported fields
}

func New

func New[K any, V any](client RedisClient, toKey func(K) string, onMiss func(context.Context, K) (V, error), ttl time.Duration, concurrency uint64, tracer trace.Tracer) App[K, V]

func (App[K, V]) EvictOnSuccess added in v4.47.2

func (a App[K, V]) EvictOnSuccess(ctx context.Context, item K, err error) error

func (App[K, V]) Get

func (a App[K, V]) Get(ctx context.Context, id K) (V, error)

func (App[K, V]) List added in v4.47.1

func (a App[K, V]) List(ctx context.Context, onMissError func(K, error) bool, items ...K) ([]V, error)

If onMissError returns false, List stops by returning an error

func (App[K, V]) Store added in v4.47.3

func (a App[K, V]) Store(ctx context.Context, id K, value V) error

type RedisClient added in v4.28.0

type RedisClient interface {
	Load(ctx context.Context, key string) ([]byte, error)
	LoadMany(ctx context.Context, keys ...string) ([]string, error)
	Store(ctx context.Context, key string, value any, ttl time.Duration) error
	Delete(ctx context.Context, keys ...string) error
}

Jump to

Keyboard shortcuts

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