redisx

module
v0.1.16 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2026 License: MIT

README

Query JSON like MongoDB but with Typesafe. Talk RESP like Redis. Embed as a Go library.

GitHub Go Reference CI coverage

The missing piece

There are lots of databases, but none of them give you everything at once: fast embedded storage, JSON queries, and the Redis protocol you already know. You've always had to pick:

  • Redis — great protocol, but it stores strings. No JSON queries. And it's another process to run, monitor, and pay latency tax on.
  • MongoDB — rich queries, but heavy. Overkill for an embedded need.
  • BoltDB / Badger — fast KV, but you're back to manual indexing and stringly-typed everything.

redisx fills that gap — a single Go module you go get and forget about.

How does it compare?

Redis MongoDB redisx
Embed in your Go binary
Query JSON by field values
Use any Redis client
Secondary indexes
Type-safe Go API
Write hooks (DLP, CDC, …)
Runs without a separate server

Start it in 30 seconds

db := server.Start()
defer server.Stop()

db.Set("user:1", `{"id":"1","name":"ken","age":18}`)
db.Set("user:2", `{"id":"2","name":"alice","age":25}`)

db.Get("user:1").MustGet()
// → {"id":"1","name":"ken","age":18}

One function call. Data on disk. Done. Now connect any Redis client and keep going:

$ redis-cli -p 7379
> AUTH <your-key>
> GET user:1
{"id":"1","name":"ken","age":18}
> KEYS user:*
1) user:1
2) user:2

What else can it do?

  • JSON queries — store JSON, query by field values, filter with conditions like age >= 18. No manual indexing, no string parsing.
  • Typed documents — define a document type once. The library auto-derives storage keys, index names, and routing. Works with both the embedded DB and the remote Go client.
  • Write hooks — intercept every write for data-loss prevention, encryption, change capture, or cache invalidation. Register once, applies everywhere. Zero call-site changes.
  • Pub/Sub — publish and subscribe to topics, with pattern matching.
  • Memory + disk — hot data in memory, durable data on disk. Routing is automatic, based on a simple key prefix.
  • Stream ingestion — pipe websocket feeds straight into your document store, with auto-reconnect.

Install

go get github.com/kcmvp/redisx

Next steps

How-to Copy-paste examples for every command
Architecture How the server and storage layers work
Typed documents Document contract and generic helpers
Write hooks Intercept writes for DLP, encryption, CDC
Stream ingest Websocket ingestion with auto-reconnect

License

MIT

Directories

Path Synopsis
raw
cmd
redisx command
ingest
stream
Package stream provides a reconnecting websocket ingestion stream with optional subscription management.
Package stream provides a reconnecting websocket ingestion stream with optional subscription management.
x

Jump to

Keyboard shortcuts

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