redigostrategy

package
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 25, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package strategy defines different route redigoStrategy mode.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetWriteReadCommandType

func GetWriteReadCommandType(commandName string, args ...interface{}) strategy.CommandType

func Subscribe

func Subscribe(ctx context.Context, s RedigoStrategyMode, duration time.Duration, channel string) (interface{}, error)

func Watch

func Watch(client redis.Conn, keys ...string) error

Types

type DoubleWriteRedigoStrategy

type DoubleWriteRedigoStrategy struct {
	// contains filtered or unexported fields
}

local-read-async-double-write

func (*DoubleWriteRedigoStrategy) AfterProcess

func (a *DoubleWriteRedigoStrategy) AfterProcess(ctx context.Context, cmd goredis.Cmder) error

func (*DoubleWriteRedigoStrategy) AfterProcessPipeline

func (a *DoubleWriteRedigoStrategy) AfterProcessPipeline(ctx context.Context, cmds []goredis.Cmder) error

func (*DoubleWriteRedigoStrategy) BeforeProcess

func (a *DoubleWriteRedigoStrategy) BeforeProcess(ctx context.Context, cmd goredis.Cmder) (context.Context, error)

func (*DoubleWriteRedigoStrategy) BeforeProcessPipeline

func (a *DoubleWriteRedigoStrategy) BeforeProcessPipeline(ctx context.Context, cmds []goredis.Cmder) (context.Context, error)

func (*DoubleWriteRedigoStrategy) Close

func (a *DoubleWriteRedigoStrategy) Close() error

func (*DoubleWriteRedigoStrategy) Do

func (d *DoubleWriteRedigoStrategy) Do(opType strategy.CommandType, commandName string, args ...interface{}) (reply interface{}, err error)

func (*DoubleWriteRedigoStrategy) Pipeline

func (d *DoubleWriteRedigoStrategy) Pipeline(transactions bool, cmds interface{}) ([]interface{}, error)

func (*DoubleWriteRedigoStrategy) RouteClient

func (*DoubleWriteRedigoStrategy) Watch

func (d *DoubleWriteRedigoStrategy) Watch(ctx context.Context, keys ...string) error

type JobType

type JobType int32
const (
	JobTypeDo JobType = iota
	JobTypePipeline
)

type LocalReadSingleWriteRedigoStrategy

type LocalReadSingleWriteRedigoStrategy struct {
	// contains filtered or unexported fields
}

func (*LocalReadSingleWriteRedigoStrategy) AfterProcess

func (a *LocalReadSingleWriteRedigoStrategy) AfterProcess(ctx context.Context, cmd goredis.Cmder) error

func (*LocalReadSingleWriteRedigoStrategy) AfterProcessPipeline

func (a *LocalReadSingleWriteRedigoStrategy) AfterProcessPipeline(ctx context.Context, cmds []goredis.Cmder) error

func (*LocalReadSingleWriteRedigoStrategy) BeforeProcess

func (a *LocalReadSingleWriteRedigoStrategy) BeforeProcess(ctx context.Context, cmd goredis.Cmder) (context.Context, error)

func (*LocalReadSingleWriteRedigoStrategy) BeforeProcessPipeline

func (a *LocalReadSingleWriteRedigoStrategy) BeforeProcessPipeline(ctx context.Context, cmds []goredis.Cmder) (context.Context, error)

func (*LocalReadSingleWriteRedigoStrategy) Close

func (a *LocalReadSingleWriteRedigoStrategy) Close() error

func (*LocalReadSingleWriteRedigoStrategy) Do

func (l *LocalReadSingleWriteRedigoStrategy) Do(opType strategy.CommandType, commandName string, args ...interface{}) (reply interface{}, err error)

func (*LocalReadSingleWriteRedigoStrategy) Pipeline

func (l *LocalReadSingleWriteRedigoStrategy) Pipeline(transactions bool, cmds interface{}) ([]interface{}, error)

func (*LocalReadSingleWriteRedigoStrategy) RouteClient

func (*LocalReadSingleWriteRedigoStrategy) Watch

type RedigoClusterConfig

type RedigoClusterConfig struct {
	MaxIdle   int
	MaxActive int
	Password  string
	Timeout   time.Duration
}

type RedigoCommandArgs

type RedigoCommandArgs struct {
	CommandName string
	Args        []interface{}
}

type RedigoPipeineArgs

type RedigoPipeineArgs struct {
	CommandName string
	Args        []interface{}
}

type RedigoStrategyMode

type RedigoStrategyMode interface {
	RouteClient(opType strategy.CommandType) *RedigoUniversalClient
	Close() error
	Watch(ctx context.Context, keys ...string) error
	Do(opType strategy.CommandType, commandName string, args ...interface{}) (reply interface{}, err error)
	Pipeline(transactions bool, cmds interface{}) ([]interface{}, error)
}

func NewStrategy

func NewStrategy(configuration *config.Configuration) RedigoStrategyMode

type RedigoUniversalClient

type RedigoUniversalClient struct {
	*redis.Pool
	*redisc.Cluster
}

nomal & sebtinel by redis.Pool , cluster by redisc.Cluster

func (RedigoUniversalClient) Close

func (r RedigoUniversalClient) Close() error

func (RedigoUniversalClient) ClusterStats

func (r RedigoUniversalClient) ClusterStats() map[string]redis.PoolStats

func (RedigoUniversalClient) Dial

func (r RedigoUniversalClient) Dial() (redis.Conn, error)

func (RedigoUniversalClient) Do

func (r RedigoUniversalClient) Do(commandName string, args ...interface{}) (reply interface{}, err error)

func (RedigoUniversalClient) DoContext

func (r RedigoUniversalClient) DoContext(ctx context.Context, commandName string, args ...interface{}) (reply interface{}, err error)

func (RedigoUniversalClient) Get

func (RedigoUniversalClient) Pipeline

func (r RedigoUniversalClient) Pipeline(transactions bool, cmds interface{}) (reply []interface{}, err error)

func (RedigoUniversalClient) Stats

func (RedigoUniversalClient) Transactions

func (r RedigoUniversalClient) Transactions(args []*RedigoCommandArgs) (reply []interface{}, err error)

type SingelReadDoubleWriteStrategy

type SingelReadDoubleWriteStrategy struct {
	DoubleWriteRedigoStrategy
}

func (*SingelReadDoubleWriteStrategy) AfterProcess

func (a *SingelReadDoubleWriteStrategy) AfterProcess(ctx context.Context, cmd goredis.Cmder) error

func (*SingelReadDoubleWriteStrategy) AfterProcessPipeline

func (a *SingelReadDoubleWriteStrategy) AfterProcessPipeline(ctx context.Context, cmds []goredis.Cmder) error

func (*SingelReadDoubleWriteStrategy) BeforeProcess

func (a *SingelReadDoubleWriteStrategy) BeforeProcess(ctx context.Context, cmd goredis.Cmder) (context.Context, error)

func (*SingelReadDoubleWriteStrategy) BeforeProcessPipeline

func (a *SingelReadDoubleWriteStrategy) BeforeProcessPipeline(ctx context.Context, cmds []goredis.Cmder) (context.Context, error)

func (*SingelReadDoubleWriteStrategy) Close

func (a *SingelReadDoubleWriteStrategy) Close() error

func (*SingelReadDoubleWriteStrategy) Do

func (d *SingelReadDoubleWriteStrategy) Do(opType strategy.CommandType, commandName string, args ...interface{}) (reply interface{}, err error)

func (*SingelReadDoubleWriteStrategy) Pipeline

func (s *SingelReadDoubleWriteStrategy) Pipeline(transactions bool, cmds interface{}) ([]interface{}, error)

func (*SingelReadDoubleWriteStrategy) RouteClient

func (*SingelReadDoubleWriteStrategy) Watch

func (d *SingelReadDoubleWriteStrategy) Watch(ctx context.Context, keys ...string) error

type SingleReadWriteRedigoStrategy

type SingleReadWriteRedigoStrategy struct {
	// contains filtered or unexported fields
}

func (*SingleReadWriteRedigoStrategy) AfterProcess

func (a *SingleReadWriteRedigoStrategy) AfterProcess(ctx context.Context, cmd goredis.Cmder) error

func (*SingleReadWriteRedigoStrategy) AfterProcessPipeline

func (a *SingleReadWriteRedigoStrategy) AfterProcessPipeline(ctx context.Context, cmds []goredis.Cmder) error

func (*SingleReadWriteRedigoStrategy) BeforeProcess

func (a *SingleReadWriteRedigoStrategy) BeforeProcess(ctx context.Context, cmd goredis.Cmder) (context.Context, error)

func (*SingleReadWriteRedigoStrategy) BeforeProcessPipeline

func (a *SingleReadWriteRedigoStrategy) BeforeProcessPipeline(ctx context.Context, cmds []goredis.Cmder) (context.Context, error)

func (*SingleReadWriteRedigoStrategy) Close

func (a *SingleReadWriteRedigoStrategy) Close() error

func (*SingleReadWriteRedigoStrategy) Do

func (s *SingleReadWriteRedigoStrategy) Do(opType strategy.CommandType, commandName string, args ...interface{}) (reply interface{}, err error)

func (*SingleReadWriteRedigoStrategy) Pipeline

func (s *SingleReadWriteRedigoStrategy) Pipeline(transactions bool, cmds interface{}) ([]interface{}, error)

func (*SingleReadWriteRedigoStrategy) RouteClient

func (*SingleReadWriteRedigoStrategy) Watch

func (s *SingleReadWriteRedigoStrategy) Watch(ctx context.Context, keys ...string) error

type SubcribeTool

type SubcribeTool struct {
	// contains filtered or unexported fields
}

need start and close

func CreateSubcribeTool

func CreateSubcribeTool(r RedigoStrategyMode) *SubcribeTool

func (*SubcribeTool) Close

func (s *SubcribeTool) Close() error

func (*SubcribeTool) Subscribe

func (s *SubcribeTool) Subscribe(call SubscribeCallback, channel ...string)

add subscribe item

func (*SubcribeTool) UnSubscribe

func (s *SubcribeTool) UnSubscribe(channel ...string)

delete subscribe item

type SubscribeCallback

type SubscribeCallback func(channel, message string)

type SubscribeData

type SubscribeData struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL