Documentation ¶
Index ¶
- Constants
- func NewPubSubDriver(log logger.Logger, key string, cfgPlugin config.Configurer, ...) (pubsub.PubSub, error)
- func NewRedisDriver(log logger.Logger, key string, cfgPlugin config.Configurer) (kv.Storage, error)
- type Config
- type Driver
- func (d *Driver) Delete(keys ...string) error
- func (d *Driver) Get(key string) ([]byte, error)
- func (d *Driver) Has(keys ...string) (map[string]bool, error)
- func (d *Driver) MExpire(items ...*kvv1.Item) error
- func (d *Driver) MGet(keys ...string) (map[string][]byte, error)
- func (d *Driver) Set(items ...*kvv1.Item) error
- func (d *Driver) TTL(keys ...string) (map[string]string, error)
- type Plugin
- func (p *Plugin) Available()
- func (p *Plugin) DefaultClient() redis.UniversalClient
- func (p *Plugin) Init(cfg config.Configurer, log logger.Logger) error
- func (p *Plugin) KVConstruct(key string) (kv.Storage, error)
- func (p *Plugin) Name() string
- func (p *Plugin) PSConstruct(key string) (pubsub.PubSub, error)
- func (p *Plugin) RedisClient(key string) (redis.UniversalClient, error)
- func (p *Plugin) Serve() chan error
- func (p *Plugin) Stop() error
- type PubSubDriver
- func (p *PubSubDriver) Connections(topic string, res map[string]struct{})
- func (p *PubSubDriver) Next() (*pubsub.Message, error)
- func (p *PubSubDriver) Publish(msg *pubsub.Message) error
- func (p *PubSubDriver) PublishAsync(msg *pubsub.Message)
- func (p *PubSubDriver) Subscribe(connectionID string, topics ...string) error
- func (p *PubSubDriver) Unsubscribe(connectionID string, topics ...string) error
- type Redis
Constants ¶
const PluginName = "redis"
Variables ¶
This section is empty.
Functions ¶
func NewPubSubDriver ¶ added in v2.3.1
func NewRedisDriver ¶ added in v2.3.1
Types ¶
type Config ¶
type Config struct { Addrs []string `mapstructure:"addrs"` DB int `mapstructure:"db"` Username string `mapstructure:"username"` Password string `mapstructure:"password"` MasterName string `mapstructure:"master_name"` SentinelPassword string `mapstructure:"sentinel_password"` RouteByLatency bool `mapstructure:"route_by_latency"` RouteRandomly bool `mapstructure:"route_randomly"` MaxRetries int `mapstructure:"max_retries"` DialTimeout time.Duration `mapstructure:"dial_timeout"` MinRetryBackoff time.Duration `mapstructure:"min_retry_backoff"` MaxRetryBackoff time.Duration `mapstructure:"max_retry_backoff"` PoolSize int `mapstructure:"pool_size"` MinIdleConns int `mapstructure:"min_idle_conns"` MaxConnAge time.Duration `mapstructure:"max_conn_age"` ReadTimeout time.Duration `mapstructure:"read_timeout"` WriteTimeout time.Duration `mapstructure:"write_timeout"` PoolTimeout time.Duration `mapstructure:"pool_timeout"` IdleTimeout time.Duration `mapstructure:"idle_timeout"` IdleCheckFreq time.Duration `mapstructure:"idle_check_freq"` ReadOnly bool `mapstructure:"read_only"` }
func (*Config) InitDefaults ¶
func (s *Config) InitDefaults()
InitDefaults initializing fill config with default values
type Driver ¶ added in v2.3.1
type Driver struct {
// contains filtered or unexported fields
}
func (*Driver) MExpire ¶ added in v2.3.1
MExpire https://redis.io/commands/expire timeout in RFC3339
func (*Driver) MGet ¶ added in v2.3.1
MGet loads content of multiple values (some values might be skipped). https://redis.io/commands/mget Returns slice with the interfaces with values
func (*Driver) Set ¶ added in v2.3.1
Set sets value with the TTL in seconds https://redis.io/commands/set Redis `SET key value [expiration]` command.
Use expiration for `SETEX`-like behavior. Zero expiration means the key has no expiration time.
type Plugin ¶
func (*Plugin) Available ¶ added in v2.2.0
func (p *Plugin) Available()
Available interface implementation
func (*Plugin) DefaultClient ¶ added in v2.3.1
func (p *Plugin) DefaultClient() redis.UniversalClient
func (*Plugin) KVConstruct ¶ added in v2.3.1
KVConstruct provides KV storage implementation over the redis plugin
func (*Plugin) PSConstruct ¶ added in v2.3.1
func (*Plugin) RedisClient ¶ added in v2.3.1
RedisClient return a client based on the provided section key key sample: kv.some-section.redis kv.redis redis (root)
type PubSubDriver ¶ added in v2.3.1
func (*PubSubDriver) Connections ¶ added in v2.3.1
func (p *PubSubDriver) Connections(topic string, res map[string]struct{})
func (*PubSubDriver) Next ¶ added in v2.3.1
func (p *PubSubDriver) Next() (*pubsub.Message, error)
Next return next message
func (*PubSubDriver) Publish ¶ added in v2.3.1
func (p *PubSubDriver) Publish(msg *pubsub.Message) error
func (*PubSubDriver) PublishAsync ¶ added in v2.3.1
func (p *PubSubDriver) PublishAsync(msg *pubsub.Message)
func (*PubSubDriver) Subscribe ¶ added in v2.3.1
func (p *PubSubDriver) Subscribe(connectionID string, topics ...string) error
func (*PubSubDriver) Unsubscribe ¶ added in v2.3.1
func (p *PubSubDriver) Unsubscribe(connectionID string, topics ...string) error