Skip to content

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} and GET /addons results 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).