Hacker News new | ask | show | jobs
by rbranson 5385 days ago
"Cache everything you can"

This is terrible advice. Telling developers to cache everything is like walking into a rehab clinic with Lindsay Lohan's purse.

Cache what you can measure as having a performance problem, which can't be optimized in another way. It should always be used as a last resort.

1 comments

Sure, of course, premature optimization is the root of all evil and all that. I presume you're reacting to a bad experience in the past you had with some young developer not understanding database indexes or memoizing everything unnecessarily or something. I certainly don't want to create another one of those experiences!

That said, he asked about how to get web application speed. One major answer (as discussed elsewhere in this thread) tends to be "add a cache somewhere." Of course, you have to architect things right so the cache works (possibly with a layer of indirection like app servers, or figuring out where a cache would be helpful, etc.) and the code that the cache is obviating needs to be slow in the first place.

That said, the general rule (add a cache for speed and scalability) has been the case from Slashdot to MovableType/Wordpress to Facebook to App Engine.

Caching is probably one of those things that if you have to be told to do it, you probably shouldn't be doing it.