Yearly Pay yearly and get 2 months free on every paid plan. See plans
Sign in Start free

Caching strategy

A layered caching design: what to cache where, TTLs, invalidation, and stampede protection.

Run this template ≈ 1,000 Runs

Sample: input → output

Input
System + read/write patterns
product catalog API, 10k rps reads, prices change hourly, stock changes constantly
Sample outputMade on 27 October 2026

Caching Strategy

1. Data Classes

Data class Cache layer TTL and reasoning Invalidation trigger Staleness tolerance
Product content: name, description, images, category, attributes CDN + distributed cache + app-local cache CDN: 15–60 min; distributed: 30 min; app-local: 1–5 min. This data changes infrequently and benefits most from edge caching. Product update event; purge affected product, category, search, and listing keys. 15–60 min for presentation data; near-zero for legal or compliance fields. …
Read the full sample →
Run this template The form opens filled with this sample's inputs; change anything.

Similar templates

Sample outputText
Library Management REST API Base URL: https://api.example.com/v1 All request and response bodies use application/json. Dates use ISO 8601 in UTC. Resource IDs are UUIDs. Endpoint Table Books Method Path Purpose Status Codes GET /books List and filter books 200, 400 POST /books Create a book record 201, 400, 409, 422 GET /books/{bookId} Retrieve a book 200, 404 PATCH /books/{bookId} Update book metadata or inventory 200, 400, 404, 409, 422 …
Read the full sample →

REST API designer

Input: a library management API: books, members, loans, reservations

≈ 1,000
Use this
Sample outputText
add(a, b) Adds two values using JavaScript’s + operator. Parameters Name Type Constraints a any None. If either operand is a string, string concatenation may occur. b any None. If either operand is a string, string concatenation may occur. Returns any — The result of evaluating a + b. Errors This function does not explicitly throw errors. JavaScript may throw a TypeError for incompatible operand types, such as mixing a bigint with a number. Example const result = add(2, 3);…
Read the full sample →

API doc writer

Input: function add(a, b) { return a + b; }

≈ 1,000
Use this
Sample outputText
The Cost of Doing Nothing Assumptions Replace these inputs with internal figures as needed: 20 engineers run or wait for CI an average of 2 times per day 220 working days per year Fully loaded engineering cost: $150/hour Current suite duration: 45 minutes Estimated productive time lost per run: 15 minutes due to parallel work, context switching, and delayed feedback 5 flaky-test reruns or investigations per day, averaging 20 minutes each 2 production incidents last quarter traced to untested paths Average incident cost:…
Read the full sample →

Tech debt business case

Input: our test suite takes 45 minutes, flaky tests get skipped, two incidents last quarter traced to untested paths

≈ 1,000
Use this