The first public release of aki.
aki speaks Redis on the wire and keeps the whole dataset in one file the way SQLite does. You point any Redis client at it and it answers like Redis, but underneath there is one .aki file, a write-ahead log sidecar, a buffer-pool pager, MVCC snapshots, and atomic crash-safe commits. Durability is the default, not an add-on, and the dataset can exceed RAM.
Pure Go, no cgo, zero external dependencies.
What works
- RESP2 and RESP3 wire protocol, with
HELLOto negotiate the version. - Data-type commands: strings, lists, sets, sorted sets, hashes, streams, bitmaps, HyperLogLog, and geo.
- Generic key commands: expiry, scan, rename, dump and restore, and the rest.
- Transactions with
MULTI,EXEC, andWATCH. - Pub/sub, including sharded channels.
- Scripting with
EVAL, and functions withFUNCTIONandFCALL. - ACLs, authentication, and keyspace notifications.
- Single-node to replica replication.
- RDB import and export, so you can move data to and from real Redis.
The server reports its version as 7.2.0-aki-0.1.0, so clients that gate features on the server version treat it as Redis 7.2.
Not in this release
Redis Cluster (answers as a single-node cluster), TLS transport (terminate with a proxy in front), and loadable C modules are out of scope. The commands and config directives are still accepted so clients see the surface. See the compatibility map for the full picture.
Install
# Homebrew
brew install tamnd/tap/aki
# Scoop
scoop bucket add tamnd https://github.com/tamnd/scoop-bucket
scoop install aki
# Docker
docker pull ghcr.io/tamnd/aki:0.1.0Linux deb, rpm, and apk packages, plus prebuilt binaries for Linux, macOS, Windows, and FreeBSD, are attached below. Checksums are signed with cosign.
Docs: https://aki.tamnd.com