Forwarded entries can expire or be cleared while configured local records remain available.

dnsmasq separates forwarded cache entries from configured local names

dnsmasq can forward DNS questions upstream, retain supported answers in a bounded cache, and serve names configured locally. These are different sources of data. A repeated answer may be a cache hit or a local configuration result. Establishing which source supplied it is essential when a hostname disagrees with the authority or continues resolving after a cache flush. ...

April 15, 2028 · 6 min · XB Field Notes
A short freshness lifetime and a cache-fill lock solve different parts of a traffic burst.

A microcache serves fresh entries briefly and coalesces misses explicitly

A microcache keeps reusable responses for a short freshness lifetime, often a few seconds. Requests for the same selected representation can reuse a fresh entry during that window. The response might lag a new origin update, but it is not HTTP-stale merely because it came from a cache. Expiration, permission to serve stale content, and concurrent cache filling are separate policies. ...

March 12, 2028 · 6 min · XB Field Notes
Downstream caches receive the remaining TTL instead of starting another full authoritative lifetime.

DNS TTL trades repeated upstream queries against retained answers

A DNS TTL is a lifetime attached to cached data, not a refresh job scheduled for every second. A cache can reuse a valid answer while it retains that entry. After expiry, a subsequent request usually requires fresh resolution unless another configured behavior applies. An idle record need not produce an upstream query merely because its TTL has reached zero. ...

March 1, 2028 · 6 min · XB Field Notes
A copied input determines whether a later RUN result can be reused.

Docker rebuilds reuse recorded work, including stale work

Docker’s build cache stores results of build operations so a later build can reuse work whose relevant inputs still match. A cache hit does not mean the command ran again and produced identical output. It means the builder accepted an existing result. That distinction matters for package installation, generated timestamps, remote downloads, and any operation whose output could change without a corresponding change to its declared inputs. ...

February 20, 2028 · 4 min · XB Field Notes
A matching validator avoids a body transfer, but unchanged file metadata can conceal changed bytes.

nginx validators are only as sound as their representation identity

A validator lets a recipient ask whether its stored representation still matches the selected one. A successful conditional GET can return 304 without retransmitting the body. Freshness is a separate decision: it determines when a stored response can be reused without that request. An ETag does not itself specify a cache lifetime, and a 304 is not a replacement body. ...

February 17, 2028 · 5 min · XB Field Notes
Database pages riding the same cache the OS already keeps.

Postgres uses two cache layers

For ordinary buffered relation I/O, PostgreSQL’s shared buffers sit above the operating system’s file cache. A shared-buffer hit avoids another read through that lower layer; a shared-buffer miss can still be served from memory by the operating system. The same file data can occupy both caches, so this is not a promise that PostgreSQL and the kernel share one physical copy. ...

January 27, 2028 · 4 min · XB Field Notes
Two distinct mechanisms: a scheduled deadline and a capacity-triggered purge.

Redis expiry is a deadline, eviction is a capacity policy

Expiration and eviction can both turn a successful lookup into a miss, but they answer different questions. Expiration follows a key’s deadline. Eviction removes eligible keys to respond to memory pressure. Extending a TTL cannot prevent capacity-driven eviction, and increasing memory cannot correct a deadline that the application set incorrectly. ...

December 26, 2027 · 6 min · XB Field Notes
A header that governs whether, how long, and for whom a response may be reused.

Cache-Control is a contract between cache and origin

A cache policy needs a behavioral test, not just a header-presence check. Two responses can both contain max-age yet behave differently because one also requires validation or prohibits storage. The request matters too: a browser can bypass an otherwise reusable copy without changing the origin’s response policy or deleting an older cached entry. ...

December 20, 2027 · 5 min · XB Field Notes