Dispatch
1.x
Docs/Dispatch/Redis Store
Open

Reading1 min
Updated31 Jul 2026
Sourcev1/stores/redis.mdx

The store/redis package implements Dispatch's store interfaces using Grove KV backed by the Redis driver. Jobs use Sorted Sets as priority queues, events use Streams, and all entities are stored as JSON via Grove KV.

Usage01

import (
    "github.com/xraph/grove/kv"
    "github.com/xraph/grove/kv/drivers/redisdriver"
    "github.com/xraph/dispatch/store/redis"
)

kvStore, err := kv.Open(redisdriver.Open("redis://localhost:6379/0"))
if err != nil {
    log.Fatal(err)
}

s := redis.New(kvStore)
if err := s.Ping(ctx); err != nil {
    log.Fatal(err)
}

d, err := dispatch.New(dispatch.WithStore(s))

Internals02

AspectDetail
DriverGrove KV + redisdriver
MigrationsNo-op (schemaless)
Data structuresSorted Sets for job queues, Streams for events, JSON for entities
Pingkv.Ping(ctx)
CloseNo-op -- caller owns the *kv.Store lifecycle

When to use03

  • High-throughput, low-latency job processing.

  • Ephemeral workloads where persistence is not critical.

  • Environments already running Redis for caching or pub/sub.