in-memory redis
redis in-memory testing
1

Configure Feed

Select the types of activity you want to include in your feed.

Zig 100.0%
22 1 2

Clone this repository

https://tangled.org/zzstoatzz.io/burner-redis https://tangled.org/did:plc:mtvonsgztkwgbpcmrfwi3v2t
git@tangled.org:zzstoatzz.io/burner-redis git@tangled.org:did:plc:mtvonsgztkwgbpcmrfwi3v2t

For self-hosted knots, clone URLs may differ based on your setup.



README.md

burner-redis#

Zig 0.16 port of prefectlabs/burner-redis, an embedded, in-process Redis-compatible database.

The upstream project is a Rust crate with Python bindings. This port keeps the Redis engine and removes the Python/PyO3/Tokio layer so Zig consumers can call the store directly.

why this exists#

docket needs Redis semantics for streams, consumer groups, sorted sets, and Lua scripts, but not every deployment should have to run Redis. This project is the memory backend: it lets callers run the same Redis-shaped workflows in process, while keeping a real Redis backend available for distributed deployments.

That makes the dual-backend story practical: tests and small installs can use the embedded engine; larger installs can point at Redis without changing the scripts or command semantics they rely on.

what is here#

  • Store: in-process keyspace with Redis-compatible strings, hashes, sets, sorted sets, streams, lists, pub/sub, and persistence.
  • LuaEngine: Redis-style EVAL support through Lua 5.1 via ziglua.
  • persistence: atomic save/load using this port's compact BRDB snapshot format.

See docs/architecture.md for command coverage and implementation notes.

Top-level Zig files are facades. Implementation lives under src/internal/, with src/store.zig curating the public Store surface and src/internal/store/core.zig holding the engine implementation.

performance#

The sorted-set hot paths are intentionally measured against the Rust upstream. See docs/benchmarks.md for the current comparison and the benchmark shape.

credit#

All credit for the design, command set, semantics, and original data-structure choices goes to prefectlabs/burner-redis. This repository is a Zig port adapted for direct Zig consumers.

license#

MIT; see LICENSE.