7.3 Caching¶
Sprint: Sprint 07 - Product Catalog Domain
Feature ID: 7.3
Subtasks: 7.3.1
Objective¶
Deliver "Caching" within Sprint 07 - Product Catalog Domain.
Dependencies¶
Aggregated from the subtasks below (prerequisite task IDs and enablers):
- 7.2.3
- 7.4.3
Subtasks¶
7.3.1 Redis cache-aside for reads¶
- ID: 7.3.1
- Title: Implement cache-aside for tariff/addon reads with invalidation
- Description: Cache
GET /tariffs/{code}andGET /addonsresults in Redis with a TTL; invalidate on tariff/addon create/update/version change. Read-heavy path per the analysis (Section 8.2). - Business Purpose: Low-latency catalog reads supporting NFR-01 (p95 < 300ms).
- Inputs: analysis Section 8.2, NFR-01.
- Outputs: Cache config + invalidation hooks + tests.
- Acceptance Criteria:
- A repeated read is served from Redis (cache hit observable); a tariff update invalidates the cached entry so the next read reflects the change.
- Dependencies: 7.2.3, 7.4.3
- Complexity: M
Acceptance Criteria¶
Each subtask above carries its own objective, testable acceptance criteria. This feature is complete when every subtask's acceptance criteria are met.
Deliverables¶
- Cache config + invalidation hooks + tests.
Definition of Done¶
- All subtasks (7.3.1) completed and their acceptance criteria verified.
- All listed dependencies satisfied.
- Build and tests green per the global conventions in ../README.md (Section 3).