cache

package
v4.53.3 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2023 License: MIT Imports: 11 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 comparable, V any] struct {
	// contains filtered or unexported fields
}

func New

func New[K comparable, 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]) ListMany added in v4.49.6

func (a App[K, V]) ListMany(ctx context.Context, fetchMany func(context.Context, []K) ([]V, error), items ...K) ([]V, error)

Param fetchMany has to return the same number of values as requested and in the same order

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 {
	Enabled() bool
	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
	Expire(ctx context.Context, ttl time.Duration, keys ...string) error
}

Jump to

Keyboard shortcuts

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