Documentation ¶
Overview ¶
Package strategy defines different route strategy mode.
Index ¶
- Constants
- type DoubleWriteStrategy
- func (d *DoubleWriteStrategy) AfterProcess(ctx context.Context, cmd redis.Cmder) error
- func (d *DoubleWriteStrategy) AfterProcessPipeline(ctx context.Context, cmds []redis.Cmder) error
- func (d *DoubleWriteStrategy) BeforeProcess(ctx context.Context, cmd redis.Cmder) (context.Context, error)
- func (d *DoubleWriteStrategy) BeforeProcessPipeline(ctx context.Context, cmds []redis.Cmder) (context.Context, error)
- func (a *DoubleWriteStrategy) Close() error
- func (d *DoubleWriteStrategy) RouteClient(opType commandType) redis.UniversalClient
- func (d *DoubleWriteStrategy) Watch(ctx context.Context, fn func(*redis.Tx) error, keys ...string) error
- type LocalReadSingleWriteStrategy
- func (a *LocalReadSingleWriteStrategy) AfterProcess(ctx context.Context, cmd redis.Cmder) error
- func (a *LocalReadSingleWriteStrategy) AfterProcessPipeline(ctx context.Context, cmds []redis.Cmder) error
- func (a *LocalReadSingleWriteStrategy) BeforeProcess(ctx context.Context, cmd redis.Cmder) (context.Context, error)
- func (a *LocalReadSingleWriteStrategy) BeforeProcessPipeline(ctx context.Context, cmds []redis.Cmder) (context.Context, error)
- func (a *LocalReadSingleWriteStrategy) Close() error
- func (l *LocalReadSingleWriteStrategy) RouteClient(opType commandType) redis.UniversalClient
- func (l *LocalReadSingleWriteStrategy) Watch(ctx context.Context, fn func(*redis.Tx) error, keys ...string) error
- type SingleReadWriteStrategy
- func (a *SingleReadWriteStrategy) AfterProcess(ctx context.Context, cmd redis.Cmder) error
- func (a *SingleReadWriteStrategy) AfterProcessPipeline(ctx context.Context, cmds []redis.Cmder) error
- func (a *SingleReadWriteStrategy) BeforeProcess(ctx context.Context, cmd redis.Cmder) (context.Context, error)
- func (a *SingleReadWriteStrategy) BeforeProcessPipeline(ctx context.Context, cmds []redis.Cmder) (context.Context, error)
- func (a *SingleReadWriteStrategy) Close() error
- func (s *SingleReadWriteStrategy) RouteClient(opType commandType) redis.UniversalClient
- func (s *SingleReadWriteStrategy) Watch(ctx context.Context, fn func(*redis.Tx) error, keys ...string) error
- type StrategyMode
Constants ¶
View Source
const ( CommandTypeRead commandType = iota CommandTypeWrite CommandTypeMulti )
View Source
const ( SingleReadWriteMode = "single-read-write" LocalReadSingleWriteMode = "local-read-single-write" DoubleWriteMode = "double-write" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DoubleWriteStrategy ¶
type DoubleWriteStrategy struct {
// contains filtered or unexported fields
}
func (*DoubleWriteStrategy) AfterProcess ¶
func (d *DoubleWriteStrategy) AfterProcess(ctx context.Context, cmd redis.Cmder) error
func (*DoubleWriteStrategy) AfterProcessPipeline ¶
func (d *DoubleWriteStrategy) AfterProcessPipeline(ctx context.Context, cmds []redis.Cmder) error
func (*DoubleWriteStrategy) BeforeProcess ¶
func (*DoubleWriteStrategy) BeforeProcessPipeline ¶
func (*DoubleWriteStrategy) RouteClient ¶
func (d *DoubleWriteStrategy) RouteClient(opType commandType) redis.UniversalClient
type LocalReadSingleWriteStrategy ¶
type LocalReadSingleWriteStrategy struct {
// contains filtered or unexported fields
}
func (*LocalReadSingleWriteStrategy) AfterProcess ¶
func (*LocalReadSingleWriteStrategy) AfterProcessPipeline ¶
func (*LocalReadSingleWriteStrategy) BeforeProcess ¶
func (*LocalReadSingleWriteStrategy) BeforeProcessPipeline ¶
func (*LocalReadSingleWriteStrategy) RouteClient ¶
func (l *LocalReadSingleWriteStrategy) RouteClient(opType commandType) redis.UniversalClient
type SingleReadWriteStrategy ¶
type SingleReadWriteStrategy struct {
// contains filtered or unexported fields
}
func (*SingleReadWriteStrategy) AfterProcess ¶
func (*SingleReadWriteStrategy) AfterProcessPipeline ¶
func (*SingleReadWriteStrategy) BeforeProcess ¶
func (*SingleReadWriteStrategy) BeforeProcessPipeline ¶
func (*SingleReadWriteStrategy) RouteClient ¶
func (s *SingleReadWriteStrategy) RouteClient(opType commandType) redis.UniversalClient
type StrategyMode ¶
type StrategyMode interface { RouteClient(opType commandType) redis.UniversalClient Close() error Watch(ctx context.Context, fn func(*redis.Tx) error, keys ...string) error }
func NewStrategy ¶
func NewStrategy(configuration *config.Configuration) StrategyMode
Click to show internal directories.
Click to hide internal directories.