Skip to content
aki

Redis compatibility

An honest map of what aki matches in Redis and what is out of scope.

aki speaks Redis on the wire and stores everything in a single file. You point any Redis client at it and it answers like Redis. This page is the honest map: what matches, what differs, and what is out of scope.

The guiding rule is simple. Where the aki spec and real Redis ever disagree, aki follows real Redis. Wire compatibility with existing clients is the goal, so the client's expectation wins.

Protocol

aki speaks both RESP2 and RESP3. HELLO negotiates the version, and a connection can switch to RESP3 to get maps, sets, and the other typed replies.

The server reports its version as 7.2.0-aki-<version>, so it presents as Redis 7.2. Clients that gate features on the reported version treat aki as a 7.2 server.

What matches Redis

These work like Redis, so existing code and tooling behave as expected.

Area Status
Data-type commands (strings, lists, sets, sorted sets, hashes, streams, bitmaps, HyperLogLog, geo) Supported
Generic key commands (expiry, scan, rename, dump/restore, and so on) Supported
Transactions (MULTI, EXEC, WATCH) Supported
Pub/sub, including sharded channels Supported
Scripting (EVAL) and functions (FUNCTION, FCALL) Supported
ACLs and authentication Supported
Keyspace notifications Supported
Replication (single node to replica) Supported

The full command list is in the commands reference.

The big difference: storage

This is where aki is genuinely different from Redis.

Redis is in-memory with optional snapshots. You hold the dataset in RAM and bolt on durability with an RDB snapshot, an append-only file, or both.

aki is a single durable file with a write-ahead log and MVCC. Durability is the default, not an add-on, and the dataset can exceed RAM because aki reads pages from the file as needed. There is no separate dump.rdb or appendonly.aof to manage on disk. aki can still import and export the RDB format, which is how you move data to and from real Redis (see the persistence guide).

Out of scope

These parts of Redis are not implemented. The relevant commands and config directives are still accepted so clients see the surface, but they do not bring the subsystem with them.

Area What aki does
Redis Cluster No multi-node sharding and no cluster bus. CLUSTER answers as a single-node cluster.
TLS transport No TLS listener. Terminate TLS with a proxy in front of aki.
Modules No loadable C modules.
Subsystem config knobs Directives for things aki has no subsystem for are accepted but inert.

For exactly which directives are accepted but inert and why, see the configuration reference.