Never implement a cache that you can&#x27;t <i>completely</i> disable with the flip of a switch somewhere.  Otherwise, when wrong behavior is observed in the system, you don&#x27;t have an easy way to rule out the cached copies.  And worse, as you make &quot;changes&quot; to the system code or the data, you may not be able to tell the difference between a change that had no effect on the problem and a change that was hidden by a stale cache.<p>This is one of the things that drives me crazy about some of Apple&#x27;s technologies.  For instance, somebody at Apple decided long ago that all application HTML help pages should be cached.  The &quot;off switch&quot; for this cache remains a bit of black magic but it&#x27;s something like &quot;rm -Rf com.apple.help.DamnedNearEverything&quot; followed by &quot;killall UnnecessaryBackgroundHelpProcess&quot; <i>every damned time you modify a page</i> or else the help system might show you an older version of the content that you just &quot;changed&quot;.