Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // DefaultCache is the default cache. DefaultCache Cache = NewCache() // DefaultExpiration is the default duration for items stored in // the cache to expire. DefaultExpiration time.Duration = 0 // ErrItemExpired is returned in Cache.Get when the item found in the cache // has expired. ErrItemExpired error = errors.New("item has expired") // ErrKeyNotFound is returned in Cache.Get and Cache.Delete when the // provided key could not be found in cache. ErrKeyNotFound error = errors.New("key not found in cache") )
View Source
var DiNoCliSet = wire.NewSet(ProvideConfigNoFlags, Provide)
View Source
var DiSet = wire.NewSet(ProvideFlags, ProvideConfig, Provide)
View Source
var Plugins = generic.NewContainer(func(opts ...Option) Cache { return nil })
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache interface {
// Get gets a cached value by key.
Get(ctx context.Context, key string) (interface{}, time.Time, error)
// Put stores a key-value pair into cache.
Put(ctx context.Context, key string, val interface{}, d time.Duration) error
// Delete removes a key from cache.
Delete(ctx context.Context, key string) error
// String returns the name of the implementation.
String() string
}
Cache is the interface that wraps the cache.
type CacheConfig ¶ added in v5.0.2
type Config ¶ added in v5.0.2
type Config struct {
Cache CacheConfig `json:"broker" yaml:"Cache"`
}
type DiConfig ¶ added in v5.0.2
type DiConfig struct{}
DiConfig is marker that DiFlags has been parsed into Config
func ProvideConfig ¶ added in v5.0.2
type Item ¶
type Item struct {
Value interface{}
Expiration int64
}
Item represents an item stored in the cache.
type Option ¶
type Option func(o *Options)
Option manipulates the Options passed.
func Expiration ¶
Expiration sets the duration for items stored in the cache to expire.
func WithAddress ¶
WithAddress sets the cache service address or connection information.
func WithContext ¶
WithContext sets the cache context, for any extra configuration.
type Options ¶
type Options struct {
Expiration time.Duration
Items map[string]Item
// Address represents the address or other connection information of the cache service.
Address string
// Context should contain all implementation specific options, using context.WithValue.
Context context.Context
// Logger is the be used logger
Logger logger.Logger
}
Options represents the options for the cache.
Click to show internal directories.
Click to hide internal directories.