cache

package
v4.59.2 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2023 License: MIT Imports: 12 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bypass added in v4.59.0

func Bypass(ctx context.Context) context.Context

func EvictOnSucces added in v4.48.0

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

func IsBypassed added in v4.59.0

func IsBypassed(ctx context.Context) bool

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 fetch[K, V], 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) (outputs []V, err 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

func (*App[K, V]) WithMissMany added in v4.53.4

func (a *App[K, V]) WithMissMany(cb fetchMany[K, V])

type IndexedItems added in v4.53.6

type IndexedItems[K comparable] map[K]int

func (IndexedItems[K]) Items added in v4.53.6

func (ii IndexedItems[K]) Items() []K

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
	Pipeline() redis.Pipeliner
}

Jump to

Keyboard shortcuts

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