The answer as almost always is: it depends!
We are living in a cached world, otherwise the information systems would be crashing on and on. But caches are not the best solution if you have hidden defects. Let’ review a few recipes:
Are you doing functional an acceptance testing?
you’d better disable all of them and test everyone of your functionalities to find out what heavens you really have in your hands
What about the solution builder in the development environment(whatever it is)?
You must switch on and off constantly in order to probe all uses cases, cached and not cached
Are you doing stress testing, performance test results are horrendous and someone recommends you “cache them all or you won’t be able go live!”
You are died! Your system beaviour will be erratic and need to be bounced at peek times every day, help desk collapsed, users crying and red faces managers pated on the back when meeting people in the corridors,…
Your solution runs smoothly, no latencies, very short response time, no bottleneck at all and you need to scale up/out?
Probably you can cache it, but don’t let your guard down! Test it again and again and if every is OK you will be able to cache and save money with a small sizing than the in not cached approach. Consider the cost of the cache solution, not all stuff is good and cheap, trust me!
Me and my circumstance