ADR-0028: Use Redis for short-lived application caching
Status
Accepted
Context
Hot read paths repeat the same queries against primary storage. We need lower tail latency on a subset of endpoints without making the database a de facto cache with unclear invalidation.
Redis is already deployed for session and rate limits; SRE has failover playbooks.
Decision
Use Redis for short-lived, TTL-bound read-through caching on approved endpoints. Redis is not a system of record: on miss or eviction, behavior stays correct by reading the authoritative store. Cache keys must include all dimensions that affect correctness (tenant, flags, etc.).
Consequences
Positive: fewer hot-path reads; clear place to add breakers. Negative: another runtime; stale data if invalidation is wrong—reviewers treat cache as correctness-critical. Operational: cap memory, naming convention, and a flush runbook for regional incidents.