cache

package
v4.48.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EvictOnSucces added in v4.48.0

func EvictOnSucces(ctx context.Context, client RedisClient, key string, err error) error

func Load added in v4.48.0

func Load[V any](ctx context.Context, client RedisClient, key string, onMiss func(context.Context) (V, error), ttl time.Duration) (V, error)

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