Documentation ¶
Overview ¶
Package rkredis is an implementation of rkentry.Entry which could be used redis client instance.
Index ¶
- Constants
- func RegisterRedisEntryYAML(raw []byte) map[string]rkentry.Entry
- func ToRedisUniversalOptions(config *BootRedisE) *redis.UniversalOptions
- type BootRedis
- type BootRedisE
- type Logger
- type Option
- type RedisEntry
- func (entry *RedisEntry) Bootstrap(ctx context.Context)
- func (entry *RedisEntry) GetClient() (*redis.Client, bool)
- func (entry *RedisEntry) GetClientCluster() (*redis.ClusterClient, bool)
- func (entry *RedisEntry) GetDescription() string
- func (entry *RedisEntry) GetName() string
- func (entry *RedisEntry) GetType() string
- func (entry *RedisEntry) Interrupt(ctx context.Context)
- func (entry *RedisEntry) IsTlsEnabled() bool
- func (entry *RedisEntry) String() string
- type RedisTracer
Constants ¶
const (
RedisEntryType = "RedisEntry"
)
Variables ¶
This section is empty.
Functions ¶
func RegisterRedisEntryYAML ¶ added in v1.0.0
RegisterRedisEntryYAML register RedisEntry based on config file into rkentry.GlobalAppCtx
func ToRedisUniversalOptions ¶
func ToRedisUniversalOptions(config *BootRedisE) *redis.UniversalOptions
ToRedisUniversalOptions convert BootConfigRedis to redis.UniversalOptions
Types ¶
type BootRedis ¶ added in v1.0.0
type BootRedis struct {
Redis []*BootRedisE `yaml:"redis" json:"redis"`
}
BootRedis Redis entry boot config which reflects to YAML config
type BootRedisE ¶ added in v1.0.0
type BootRedisE struct { Name string `yaml:"name" json:"name"` // Required Description string `yaml:"description" json:"description"` Enabled bool `yaml:"enabled" json:"enabled"` // Required Domain string `yaml:"domain" json:"domain"` Addrs []string `yaml:"addrs" json:"addrs"` // Required MasterName string `yaml:"masterName" json:"masterName"` SentinelPass string `yaml:"sentinelPass" json:"sentinelPass"` DB int `yaml:"db" json:"db"` // Required User string `yaml:"user" json:"user"` // Required Pass string `yaml:"pass" json:"pass"` // Required MaxRetries int `yaml:"maxRetries" json:"maxRetries"` MinRetryBackoffMs int `yaml:"minRetryBackoffMs" json:"minRetryBackoffMs"` MaxRetryBackoffMs int `yaml:"maxRetryBackoffMs" json:"maxRetryBackoffMs"` DialTimeoutMs int `yaml:"dialTimeoutMs" json:"dialTimeoutMs"` ReadTimeoutMs int `yaml:"readTimeoutMs" json:"readTimeoutMs"` WriteTimeoutMs int `yaml:"writeTimeoutMs" json:"writeTimeoutMs"` ContextTimeoutEnabled bool `yaml:"contextTimeoutEnabled" json:"contextTimeoutEnabled"` PoolFIFO bool `yaml:"poolFIFO" json:"poolFIFO"` PoolSize int `yaml:"poolSize" json:"poolSize"` MinIdleConn int `yaml:"minIdleConn" json:"minIdleConn"` MaxIdleConn int `yaml:"maxIdleConn" json:"maxIdleConn"` ConnMaxIdleTimeMs int `yaml:"connMaxIdleTimeMs" json:"connMaxIdleTimeMs"` ConnMaxLifetimeMs int `yaml:"connMaxLifetimeMs" json:"connMaxLifetimeMs"` PoolTimeoutMs int `yaml:"poolTimeoutMs" json:"poolTimeoutMs"` IdleTimeoutMs int `yaml:"idleTimeoutMs" json:"idleTimeoutMs"` IdleCheckFrequencyMs int `yaml:"idleCheckFrequencyMs" json:"idleCheckFrequencyMs"` MaxRedirects int `yaml:"maxRedirects" json:"maxRedirects"` ReadOnly bool `yaml:"readOnly" json:"readOnly"` RouteByLatency bool `yaml:"routeByLatency" json:"routeByLatency"` RouteRandomly bool `yaml:"routeRandomly" json:"routeRandomly"` LoggerEntry string `yaml:"loggerEntry" json:"loggerEntry"` CertEntry string `yaml:"certEntry" json:"certEntry"` }
BootRedisE sub struct for BootRedis
type Option ¶
type Option func(e *RedisEntry)
Option for RedisEntry
func WithCertEntry ¶
func WithCertEntry(in *rkentry.CertEntry) Option
WithCertEntry provide CertEntry
func WithDescription ¶
WithDescription provide name.
func WithLoggerEntry ¶ added in v1.0.0
func WithLoggerEntry(entry *rkentry.LoggerEntry) Option
WithLoggerEntry provide rkentry.LoggerEntry entry name
func WithUniversalOption ¶
func WithUniversalOption(opt *redis.UniversalOptions) Option
WithUniversalOption provide redis.UniversalOptions
type RedisEntry ¶
type RedisEntry struct { ClientType string `yaml:"clientType" json:"clientType"` Opts *redis.UniversalOptions `yaml:"-" json:"-"` Client redis.UniversalClient `yaml:"-" json:"-"` // contains filtered or unexported fields }
RedisEntry will init redis.Client with provided arguments
func GetRedisEntry ¶
func GetRedisEntry(entryName string) *RedisEntry
GetRedisEntry returns RedisEntry
func RegisterRedisEntry ¶
func RegisterRedisEntry(opts ...Option) *RedisEntry
RegisterRedisEntry will register Entry into GlobalAppCtx
func (*RedisEntry) Bootstrap ¶
func (entry *RedisEntry) Bootstrap(ctx context.Context)
Bootstrap RedisEntry
func (*RedisEntry) GetClient ¶
func (entry *RedisEntry) GetClient() (*redis.Client, bool)
GetClient convert redis.UniversalClient to proper redis.Client
func (*RedisEntry) GetClientCluster ¶
func (entry *RedisEntry) GetClientCluster() (*redis.ClusterClient, bool)
GetClient convert redis.UniversalClient to proper redis.ClusterClient
func (*RedisEntry) GetDescription ¶
func (entry *RedisEntry) GetDescription() string
GetDescription returns entry description
func (*RedisEntry) Interrupt ¶
func (entry *RedisEntry) Interrupt(ctx context.Context)
Interrupt RedisEntry
func (*RedisEntry) IsTlsEnabled ¶
func (entry *RedisEntry) IsTlsEnabled() bool
IsTlsEnabled checks TLS
func (*RedisEntry) String ¶
func (entry *RedisEntry) String() string
String returns json marshalled string
type RedisTracer ¶
type RedisTracer struct{}
func NewRedisTracer ¶
func NewRedisTracer() *RedisTracer
func (*RedisTracer) DialHook ¶ added in v1.2.17
func (t *RedisTracer) DialHook(next redis.DialHook) redis.DialHook
func (*RedisTracer) ProcessHook ¶ added in v1.2.17
func (t *RedisTracer) ProcessHook(next redis.ProcessHook) redis.ProcessHook
func (*RedisTracer) ProcessPipelineHook ¶ added in v1.2.17
func (t *RedisTracer) ProcessPipelineHook(next redis.ProcessPipelineHook) redis.ProcessPipelineHook