Learn Everything

Paths/Backend Engineer/Caching & Performance / Invalidation & Measurement

Practice Taskintermediateubuntu:24.04Ask AI

Invalidate from Events, Not from Code

Time based expiry is a guess. Write the event driven invalidation that drops the entry the moment the data changes.

Validator

⏱ 0:00

IDLE — checks run live as you type commands; submit when done

01Requirements

live checks
  • File ~/backend/cache/invalidation.yaml exists○
  • The config maps a domain event to the keys it invalidates○
  • The config states the fallback expiry○

02Walkthrough

1 of 3 revealed
  1. 01

    Write the invalidation rules

    Each event names the key pattern it invalidates. The pattern is built from the ids in the event - that is why the events carry them.

    echo 'events:\n - name: order.updated\n invalidate:\n - "orders:detail:{order_id}"\n - "orders:list:{customer_id}"\n - name: order.cancelled\n invalidate:\n - "orders:detail:{order_id}"' > ~/backend/cache/invalidation.yaml
  2. 2 locked · each failed submit reveals one

03Stuck?

0 of 3 revealed

Take a hint without losing the lab — each one points at the thing to look at, not at the answer.

04AI Tutor

guides, never solves

Tell me what you're stuck on — I'll nudge, not solve. Which requirement are you looking at?

04Notebook

saved locally in this browser

learner@lab — ubuntu:24.04

↑/↓ recalls commands · Ctrl+Enter submits · type help for the command list