R
This response is based on my personal experience, in what I learned in practice, and includes conceptual inferences from this experience. See detailed examples point to point in https://pt.stackoverflow.com/a/358150 .Before we talk about the disability of the cache, we need to define the cache itself. In a simplified way, cache is a quick access copy to something. Cache is used to avoid repeating some costly operation, and the costly concept depends on the context. For example, your CPU caches data to avoid repeated memory readings, which would be slow about reading from the cache. On another scale, your browser caches the accessed content, to avoid repeated HTTP requests to the same features as you navigate.If on the one hand the cache streamlines access to the data, on the other hand it is a copy that tends to be defased. And there comes the dilemma of invalidation: when consider that something cached needs to be updated? And, worse, the invalidation of such data leads to the invalidation of other data too? And the disability of that second level invalidates what?It must have already given to realize that the problem is recursive – of course not always, but it has a lot of potential to be. So the big problem is to decide when to stop. This generally depends on the data stored, its structure, the cost of pre-processing these data before cache storage, the type of cache used and the available resources. That is, there is no universal solution. The higher the level of the cache – in order to contain more structured and interrelated data –, the more it needs to be "tuned" manually.There is also the question of the frequency or disability trigger. One can use a similar treatment to that of Garbage Collection in programming languages, in which the data is marked as invalid but is only cleaned (in the case of a cache, updated) at times of higher availability of processing, or at the first need for use of the updated value. Another path is trigger-based treatment, similar to what exists in SQL. Some event in the application determines that the cache should be updated and triggers the process.That's where I've always interpreted that quote. There are probably more reasons. I expect a more canonical response from another user.