micro/cache/cache.go

30 lines
555 B
Go
Raw Permalink Normal View History

2020-07-08 13:08:59 +03:00
// Package cache is a caching interface
package cache
// Cache is an interface for caching
2020-07-08 13:08:59 +03:00
type Cache interface {
// Initialise options
Init(...Option) error
// Get a value
Get(key string) (interface{}, error)
// Set a value
Set(key string, val interface{}) error
// Delete a value
Delete(key string) error
// Name of the implementation
String() string
}
type Options struct {
Nodes []string
}
2020-07-08 16:53:38 +03:00
type Option func(o *Options)
// Nodes sets the nodes for the cache
func Nodes(v ...string) Option {
return func(o *Options) {
o.Nodes = v
}
}