redis

package
v4.59.2 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2023 License: MIT Imports: 14 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)) (<-chan struct{}, func(context.Context) error)

Types

type App

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

func (*App) Close added in v4.55.0

func (a *App) Close()

func (*App) Delete

func (a *App) Delete(ctx context.Context, keys ...string) (err 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, ttl time.Duration, keys ...string) 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) Pipeline added in v4.53.4

func (a *App) Pipeline() redis.Pipeliner

func (App) Publish added in v4.44.0

func (a App) Publish(ctx context.Context, channel string, value any) (err 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
	Close()
	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, ttl time.Duration, keys ...string) 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)
	Pipeline() redis.Pipeliner
}

func New

func New(config Config, tracer trace.TracerProvider) (Client, error)

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