Documentation
¶
Overview ¶
Package redis is a thin cache resource adapter.
Production Redis clients may be injected via Pinger/Commander interfaces. A local in-memory redis-like backend is provided for tests (no network).
Index ¶
- type Config
- type GenerationController
- type Local
- type LocalGenerations
- type Pinger
- type Resource
- func (r *Resource) AbortGeneration(ctx context.Context, gen uint64) error
- func (r *Resource) ActivateGeneration(ctx context.Context, gen uint64) error
- func (r *Resource) BuildGeneration(ctx context.Context) (uint64, error)
- func (r *Resource) Capabilities() resource.ResourceCapabilities
- func (r *Resource) Describe() resource.Description
- func (r *Resource) Health(ctx context.Context) resource.ResourceHealth
- func (r *Resource) ID() resource.ResourceID
- func (r *Resource) Kind() resource.Kind
- func (r *Resource) Snapshot(ctx context.Context) (map[string]string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
ID resource.ResourceID
DisplayName string
Client Pinger
Generations GenerationController
PingTimeout time.Duration
}
Config configures the redis cache resource.
type GenerationController ¶
type GenerationController interface {
Current(ctx context.Context) (uint64, error)
Reserve(ctx context.Context) (uint64, error)
Activate(ctx context.Context, gen uint64) error
Abort(ctx context.Context, gen uint64) error
}
GenerationController coordinates cache rebuild generations.
type Local ¶
type Local struct {
// contains filtered or unexported fields
}
Local is an in-memory redis-like pinger + store for tests.
type LocalGenerations ¶
type LocalGenerations struct {
// contains filtered or unexported fields
}
LocalGenerations is an in-process generation controller.
func NewLocalGenerations ¶
func NewLocalGenerations() *LocalGenerations
NewLocalGenerations creates a generation controller starting at 0.
func (*LocalGenerations) Abort ¶
func (g *LocalGenerations) Abort(_ context.Context, gen uint64) error
func (*LocalGenerations) Activate ¶
func (g *LocalGenerations) Activate(_ context.Context, gen uint64) error
type Resource ¶
type Resource struct {
// contains filtered or unexported fields
}
Resource implements resource.Resource for Redis-style caches.
func (*Resource) AbortGeneration ¶
AbortGeneration aborts a reserved generation.
func (*Resource) ActivateGeneration ¶
ActivateGeneration activates a reserved generation.
func (*Resource) BuildGeneration ¶
BuildGeneration reserves a new cache generation.
func (*Resource) Capabilities ¶
func (r *Resource) Capabilities() resource.ResourceCapabilities
func (*Resource) Describe ¶
func (r *Resource) Describe() resource.Description
func (*Resource) ID ¶
func (r *Resource) ID() resource.ResourceID