Technology · Datastore

Garnet

A Redis-compatible store evaluated for the memory service's hot path.

Rust lifecycle moduleFAFOHive memory serviceRedis protocol
One client, either server
Redis · my host
Garnet · managed
PostgreSQL, the source of truth
the plug on top: the Redis protocol, the same for both
  • 242lines of Rust run the managed instance from start to stop

A Redis-protocol tier in front of PostgreSQL

The memory service in FAFOHive keeps PostgreSQL as its source of truth and a Redis-protocol tier in front of it.

Vector search
requesthot tier
Cached result
requesthot tier
Observation write
queued
Writes leave the request path at the tier.

Protocol compatibility is the seam. The service talks the Redis protocol. On my own host the tier is Redis.

The backing server is a deployment choice, not a code change.

A managed instance that never collides

Garnet, Microsoft's Redis-compatible server, is wired in as an optional managed instance for that tier. It came in with a self-contained distribution build of the service, and it is a dedicated instance, never shared with any existing cache on the machine.

123456
1 start the bundled binary2 bind loopback, its own port3 its own checkpoints4 poll until PING answers5 serving the tier6 stop with the service
A subprocess of the memory service, off by default.

This is a lifecycle adapter, not Garnet-specific engineering.