Documentation
¶
Index ¶
- Constants
- type Config
- type Constructor
- type Plugin
- func (p *Plugin) Available()
- func (p *Plugin) Collects() []interface{}
- func (p *Plugin) GetAllStorageDrivers(name endure.Named, constructor Constructor)
- func (p *Plugin) Init(cfg config.Configurer, log logger.Logger) error
- func (p *Plugin) Name() string
- func (p *Plugin) RPC() interface{}
- func (p *Plugin) Serve() chan error
- func (p *Plugin) Stop() error
- type Storage
Constants ¶
View Source
const PluginName string = "kv"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v2.1.0
type Config struct {
Data map[string]interface{} `mapstructure:"kv"`
}
Config represents general storage configuration with keys as the user defined kv-names and values as the constructors
type Constructor ¶ added in v2.3.1
type Constructor interface {
// KVConstruct provides Storage based on the config key
KVConstruct(key string) (Storage, error)
}
Constructor provides storage based on the config
type Plugin ¶ added in v2.1.0
type Plugin struct {
// contains filtered or unexported fields
}
Plugin for the unified storage
func (*Plugin) Available ¶ added in v2.2.0
func (p *Plugin) Available()
Available interface implementation
func (*Plugin) Collects ¶ added in v2.1.0
func (p *Plugin) Collects() []interface{}
Collects will get all plugins which implement Storage interface
func (*Plugin) GetAllStorageDrivers ¶ added in v2.1.0
func (p *Plugin) GetAllStorageDrivers(name endure.Named, constructor Constructor)
type Storage ¶
type Storage interface {
// Has checks if value exists.
Has(keys ...string) (map[string]bool, error)
// Get loads value content into a byte slice.
Get(key string) ([]byte, error)
// MGet loads content of multiple values
// Returns the map with existing keys and associated values
MGet(keys ...string) (map[string][]byte, error)
// Set used to upload item to KV with TTL
// 0 value in TTL means no TTL
Set(items ...*kvv1.Item) error
// MExpire sets the TTL for multiply keys
MExpire(items ...*kvv1.Item) error
// TTL return the rest time to live for provided keys
// Not supported for the memcached
TTL(keys ...string) (map[string]string, error)
// Clear clean the entire storage
Clear() error
// Delete one or multiple keys.
Delete(keys ...string) error
}
Storage represents single abstract storage.
Click to show internal directories.
Click to hide internal directories.