finds.dev← search

// the find

nalgeon/redka

★ 4,559 · Go · BSD-3-Clause · updated Feb 2026

Redis re-implemented with SQL

Redka reimplements Redis data structures (strings, lists, sets, hashes, sorted sets) on top of SQLite or PostgreSQL, with full RESP wire protocol compatibility. It's for Go developers who want Redis semantics without running a Redis server — either embedded in-process or as a standalone drop-in. The author is honest that it's in maintenance mode with no planned features.

ACID transactions are a genuine win over Redis — you can atomically update a hash and a relational row in the same Postgres transaction, which Redis Lua scripts can't touch. The dual-backend approach (SQLite for embedded/test, Postgres for shared state) is well thought out and the SQL views for introspection are actually useful for debugging. Test coverage is thorough — every command has its own test file, and the test helpers abstract both SQLite and Postgres so the same suite runs against both backends. The in-process server mode makes it a legitimately useful Redis test container replacement without pulling in Docker.

It explicitly doesn't aim for performance parity and the benchmarks show it — sorted set operations in particular get expensive fast because SQL ORDER BY with scoring is not the same algorithmic problem as a skip list. Pub/Sub, Streams, and Lua scripting are absent, so if your code uses any of those, this isn't a drop-in. The project is in maintenance mode as of early 2026, which means bugs get fixed but you're inheriting the current feature surface forever. Cluster and replication are non-starters — you're bound to a single Postgres or SQLite instance, so any HA story is whatever your database backend provides.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →