Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why does the cache mean "nobody requested this in a while, I can drop it" rather than "this may have changed upstream, I'll drop it"?


The server you poll may delegate the request to a server that has the old data in cache. Now the old data is in two caches.


id guess that most resolvers have a least recently used (LRU) policy


But they must still have a TTL, they can't just store stale records forever.


You're right, it's TTL not LRU. The authoritative server publishes a TTL with the record — "you may keep this for N seconds" — and when it's up the resolver has to ask again no matter how popular it is.

LRU does show up in resolvers, but as memory management: cache is full, evict the least recently used early. It can only make something disappear sooner than its TTL, never later.

It's time-based because there's no back-channel. An authoritative server has no idea who's holding a copy of its records, so it can't push an invalidation.


Yep, that's my mental model as well, thanks.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: