redispositioner

package module
v3.0.0-...-662b748 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseAndBufferedOption

type BaseAndBufferedOption interface {
	Option
	BufferedOption
}

func WithCodec

func WithCodec(codec codec.Codec) BaseAndBufferedOption

func WithPrefix

func WithPrefix(prefix string) BaseAndBufferedOption

type BufferedOption

type BufferedOption interface {
	// contains filtered or unexported methods
}

func WithBatchSize

func WithBatchSize(size int) BufferedOption

WithBatchSize is a buffered option to set the batch size

func WithFlushInterval

func WithFlushInterval(interval time.Duration) BufferedOption

WithFlushInterval is a buffered option to set the flush interval

type BufferedPositioner

type BufferedPositioner struct {
	*Positioner
	// contains filtered or unexported fields
}

BufferedPositioner is a buffered version of Positioner. useful for high-frequency events.

func NewBufferedPositioner

func NewBufferedPositioner(client redis.UniversalClient, opts ...BufferedOption) *BufferedPositioner

func (*BufferedPositioner) Close

func (p *BufferedPositioner) Close(ctx context.Context)

Close and clean up resources

func (*BufferedPositioner) Flush

func (p *BufferedPositioner) Flush(ctx context.Context) error

Flush refreshes the position to Redis immediately

func (*BufferedPositioner) Get

func (*BufferedPositioner) Set

Set rewrite the Set method using a buffering strategy

type Option

type Option interface {
	// contains filtered or unexported methods
}

type Positioner

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

func NewPositioner

func NewPositioner(client redis.UniversalClient, opts ...Option) *Positioner

func (*Positioner) Get

func (p *Positioner) Get(ctx context.Context) (mysql.Position, error)

func (*Positioner) Set

func (p *Positioner) Set(ctx context.Context, pos mysql.Position) error

Jump to

Keyboard shortcuts

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