cache

package
v1.7.4 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2024 License: MIT Imports: 23 Imported by: 394

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddCleanTask

func AddCleanTask(task func() error, keys ...string)

AddCleanTask adds a clean task on given keys.

func TotalWeights

func TotalWeights(c []NodeConf) int

TotalWeights returns the total weights of given nodes.

Types

type Cache

type Cache interface {
	// Del deletes cached values with keys.
	Del(keys ...string) error
	// DelCtx deletes cached values with keys.
	DelCtx(ctx context.Context, keys ...string) error
	// Get gets the cache with key and fills into v.
	Get(key string, val any) error
	// GetCtx gets the cache with key and fills into v.
	GetCtx(ctx context.Context, key string, val any) error
	// IsNotFound checks if the given error is the defined errNotFound.
	IsNotFound(err error) bool
	// Set sets the cache with key and v, using c.expiry.
	Set(key string, val any) error
	// SetCtx sets the cache with key and v, using c.expiry.
	SetCtx(ctx context.Context, key string, val any) error
	// SetWithExpire sets the cache with key and v, using given expire.
	SetWithExpire(key string, val any, expire time.Duration) error
	// SetWithExpireCtx sets the cache with key and v, using given expire.
	SetWithExpireCtx(ctx context.Context, key string, val any, expire time.Duration) error
	// Take takes the result from cache first, if not found,
	// query from DB and set cache using c.expiry, then return the result.
	Take(val any, key string, query func(val any) error) error
	// TakeCtx takes the result from cache first, if not found,
	// query from DB and set cache using c.expiry, then return the result.
	TakeCtx(ctx context.Context, val any, key string, query func(val any) error) error
	// TakeWithExpire takes the result from cache first, if not found,
	// query from DB and set cache using given expire, then return the result.
	TakeWithExpire(val