redis

package
v4.52.9 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2023 License: MIT Imports: 16 Imported by: 12

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDisabled = errors.New("redis not enabled")
View Source
var ErrNoSubscriber = errors.New("no subscriber for channel")

Functions

func PullFor added in v4.44.0

func PullFor[T any](ctx context.Context, app Client, key string, handler func(T, error))

func SubscribeFor added in v4.44.0

func SubscribeFor[T any](ctx context.Context, app Client, channel string, handler func(T, error)) func(context.Context) error

Types

type App

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

func (App) Delete

func (a App) Delete(ctx context.Context, keys ...string) error

func (App) DeletePattern added in v4.48.1

func (a App) DeletePattern(ctx context.Context, pattern string) (err error)

func (App) Enabled added in v4.50.1

func (a App) Enabled() bool

func (App) Exclusive

func (a App) Exclusive(ctx context.Context, name string, timeout time.Duration, action func(context.Context) error) (acquired bool, err error)

func (App) Expire added in v4.52.6

func (a App) Expire(ctx context.Context, key string, ttl time.Duration) error

func (App) Load

func (a App) Load(ctx context.Context, key string) ([]byte, error)

func (App) LoadMany added in v4.47.0

func (a App) LoadMany(ctx context.Context, keys ...string) ([]string, error)

func (App) Ping

func (a App) Ping(ctx context.Context) error

func (App) Publish added in v4.44.0

func (a App) Publish(ctx context.Context, channel string, value any) error

func (App) PublishJSON added in v4.52.7

func (a App) PublishJSON(ctx context.Context, channel string, value any) error

func (App) Pull added in v4.44.0

func (a App) Pull(ctx context.Context, key string, handler func(string, error))

func (App) Push added in v4.44.0

func (a App) Push(ctx context.Context, key string, value any) error

func (App) Scan added in v4.46.4

func (a App) Scan(ctx context.Context, pattern string, output chan<- string, pageSize int64) error

func (App) Store

func (a App) Store(ctx context.Context, key string, value any, duration time.Duration) error

func (App) Subscribe added in v4.44.0

func (a App) Subscribe(ctx context.Context, channel string) (<-chan *redis.Message, func(context.Context) error)

type Client added in v4.52.6

type Client interface {
	Enabled() bool
	Ping(ctx context.Context) error
	Load(ctx context.Context, key string) ([]byte, error)
	LoadMany(ctx context.Context, keys ...string) ([]string, error)
	Store(ctx context.Context, key string, value any, ttl time.Duration) error
	Delete(ctx context.Context, keys ...string) error
	DeletePattern(ctx context.Context, pattern string) error
	Scan(ctx context.Context, pattern string, output chan<- string, pageSize int64) error
	Exclusive(ctx context.Context, name string, timeout time.Duration, action func(context.Context) error) (bool, error)
	Expire(ctx context.Context, key string, ttl time.Duration) error
	Push(ctx context.Context, key string, value any) error
	Pull(ctx context.Context, key string, handler func(string, error))
	Publish(ctx context.Context, channel string, value any) error
	PublishJSON(ctx context.Context, channel string, value any) error
	Subscribe(ctx context.Context, channel string) (<-chan *redis.Message, func(context.Context) error)
}

func New

func New(config Config, prometheusRegisterer prometheus.Registerer, tracer trace.Tracer) Client

type Config

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

func Flags

func Flags(fs *flag.FlagSet, prefix string, overrides ...flags.Override) Config

Jump to

Keyboard shortcuts

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