Mathias Verraes’ joke about two hard problems in distributed systems is based on a saying by Phil Karlton formerly of Netscape. He quipped, “There are only two hard things in Computer Science: cache invalidation and naming things.”
I am notoriously bad at naming things (as you have no doubt discovered in earlier chapters). However, I have a rock solid solution to cache invalidation. Inversion determines not only which caches should be invalidated but also precisely how they should be updated.
When we think of caching, we ...