Why the data plane speaks HTTP, not RESP
A cache that any runtime can reach without a Redis driver, a TCP socket or a connection pool. The trade-off is deliberate, and it changes how you should call it.
Read the noteEngineering notes
Design decisions, constraints and the occasional trade-off we chose on purpose. No launch metrics, no benchmark theatre — just how the platform works and why.
A cache that any runtime can reach without a Redis driver, a TCP socket or a connection pool. The trade-off is deliberate, and it changes how you should call it.
Read the noteAll notes
Every note describes behavior that is implemented in this repository. Product limits are stated as defaults, not as universal guarantees.
A cache without expiry is a database with worse tooling. Cacheify enforces a TTL on every key, defaults to 24 hours and rejects attempts to remove it.
Scoped keys are a blast-radius control. A database has exactly one active key, one permission level and one obvious rotation path.
Forbidden tells an attacker that a resource exists. Cacheify answers cross-tenant requests with the same 404 it uses for an unknown database.
There is no privileged browser backend. The dashboard reads keys and runs commands through the same data-plane service your application calls.
Limits are checked before a write becomes visible. When a quota is exceeded, the platform restores the previous state instead of leaving a half-applied command.
Go deeper
Endpoints, TTL semantics, error codes and framework examples — including the Spring Boot bridge for teams keeping their RedisTemplate code.