July 3, 2026
Cache me outside
We put a Redis server inside our runtime
They built a tiny Redis inside the app, and the comments instantly went feral
TLDR: Encore built a built-in Redis-like cache so apps can run locally without extra setup, but commenters immediately fought over whether rewriting it was smart or needless overkill. Fans called it useful; critics said, "just run another container" and doubted it will ever perfectly match the real thing.
Encore thought it was sharing a clever developer convenience story. Instead, the crowd turned it into a full-on "why on earth did you do it this way?" debate. The company says it built a Redis-style cache server inside its runtime for local development and tests, so people don’t have to install and babysit another service on their machine. In plain English: instead of asking developers to run a separate cache program, Encore made one that starts automatically inside the app itself.
That sounded elegant to some readers and absolutely unhinged to others. One camp was impressed that Encore ported a Go version into Rust and packed in a huge list of features so tests feel closer to the real thing. But the louder camp basically said: you rewrote all this just to avoid running one more container? Commenters waved around Docker Compose and TestContainers like receipts, arguing that spinning up a separate helper service is already easy. The biggest point of friction was trust: critics said this is still not "real Redis," no matter how hard it tries, and warned that matching production behavior forever could become a maintenance nightmare.
And yes, the jokes arrived right on schedule. One of the funniest drive-by comments reduced the whole saga to const cache = {} and declared, "Look I made a redis server." Another commenter went so off-road they somehow dragged Reddit’s old codebase into the conversation. Classic comment section energy: one serious architecture fight, one meme, and one completely random tangent for spice.
Key Points
- •Encore embedded an in-memory Redis server into its runtime for local development and testing instead of requiring an external Redis process.
- •The company’s Go runtime previously used alicebob/miniredis, and Encore ported that implementation to Rust for its TypeScript-focused runtime.
- •The Rust port is described as roughly 25,000 lines and supports Redis features including strings, hashes, lists, sets, sorted sets, streams, pub/sub, transactions, and Lua scripting.
- •The embedded server listens on a TCP socket and speaks the Redis wire protocol, RESP, rather than acting as a simple mock.
- •Encore says production environments use provisioned real Redis instances, while local development and tests use the built-in server selected through runtime configuration.