TTL expiry
Entries expire at the next request with this interval.
Local calculation / simulationLocal educational experiment. No external API calls. Synthetic fixtures are not production measurements.
Study guide & lesson outline
LEARNING CONTRACTUnderstand → implement → investigate
Goal: explain the mechanism in this lesson, reproduce one example and test a failure case. Reading alone does not mark mastery.
- Understand: state assumptions, shapes/units and a counterexample.
- Implement: reproduce a numerical example and inspect boundaries.
- Investigate: compare one alternative under a matched budget.
02 · Predict & configure
Technical scenario notes, parameter names and reference answers are currently in English.
03 · Inspect the evidence
Methods & references
Exact-key LRU simulation. TTL starts on insertion and does not refresh on hits. Expired entries are removed before each request. Assumes stable outputs within TTL. A real cache key should include tenant, model/version, prompt and generation settings; this lab uses letters.
Text / 原始公式
hit rate=hits/requests; cost=misses×costPerMiss; mean latency=(hits×hitMs+misses×missMs)/requests
Cross-tenant key reuse can expose private data; stale cached answers may be incorrect.
Redis · eviction and TTL policies ↗Practice questions
cache-3 / 01What does “TTL expiry” test?
Entries expire at the next request with this interval.
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 02Which computation produces the result in “TTL expiry”?
hit
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 03What is the baseline configuration for “TTL expiry”?
{"keys":"A,B,A,C,A,B,D,A","capacity":3,"ttl":1,"interval":1,"cost":0.01,"missMs":1000,"hitMs":10}
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 04What numerical result should you check for “TTL expiry”?
{"Hit rate":0,"Misses":8,"Cost USD":0.08,"Mean latency (ms)":1000}
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 05How would you run a controlled comparison for “TTL expiry”?
Keep the supplied fixture and other settings fixed; change capacity. Inspect hit/miss trace, eviction order, cost and mean latency.
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 06What failure could invalidate a conclusion from “TTL expiry”?
Cross-tenant key reuse can expose private data; stale cached answers may be incorrect.
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 07Is “TTL expiry” a benchmark of a deployed language model?
No. Exact-key LRU simulation. TTL starts on insertion and does not refresh on hits. Expired entries are removed before each request. Assumes stable outputs within TTL. A real cache key should include tenant, model/version, prompt and generation settings; this lab uses letters.
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 08Which evidence should you report for “TTL expiry”?
Inspect hit/miss trace, eviction order, cost and mean latency. Export inputs, engine, result and method; distinguish synthetic fixtures from observed production data.
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 09How can another researcher reproduce “TTL expiry”?
Open cache-3, reset the preset, retain the exact inputs and run. The calculation is deterministic for identical inputs.
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →cache-3 / 10What is the next validation step after “TTL expiry”?
Cross-tenant key reuse can expose private data; stale cached answers may be incorrect. Test the hypothesis on a representative held-out workload and document a baseline, success metric and stopping rule before claiming deployment readiness.
Original teaching answer / local derivation. Method reference: Redis · eviction and TTL policies ↗
Open lab →Assumptions, implementation & acceptance
TTL starts at insertion and is not refreshed on a hit. LRU order does refresh. Request keys share one synthetic namespace; production keys must include model, parameters and authorization scope.
Engine formulas, scenario presets and numerical safeguards reviewed. Seeded synthetic inputs are not a production benchmark.
Before running: predict a boundary case
Entries expire at the next request with this interval.
Hint: isolate the assumption
Keep the baseline input fixed, change one parameter or boundary, and compare both the numerical result and the claimed units. A passing example verifies this fixture only.
Minimal executable example
Save the example and linked modules in one folder. Use Node.js 22 or newer, then run node cache-3.mjs. No third-party runtime dependencies.
import {calculate,network} from './academy-core.mjs';
const params={
"keys": "A,B,A,C,A,B,D,A",
"capacity": 3,
"ttl": 1,
"interval": 1,
"cost": 0.01,
"missMs": 1000,
"hitMs": 10
};
const result=calculate('cache',params);
console.log(result.metrics);Test and transfer
Entries expire at the next request with this interval.
Record input, code version, expected result and observed result in the notebook below. Then construct a counterexample that violates the assumption above and explain why the original conclusion no longer follows.
Download complete kit (.tar.gz) · Complete reference kit and regression checksPredict, test and keep evidence
Before revealing an answer, predict one result. After the exercise, record the discrepancy and a transfer test. Saved locally across language editions.
Open notebook / export / clear →The mathematical review scope is recorded per lesson. It does not establish empirical paper reproduction; report suspected errors in your notes. Review scope