@ntn0de Caching is basically "scale protection" for things that don't really need to be updated immediately. If that sounds like what you need, then go for it.
Basically if I have users accessing the same data... and that data is called a lot and doesn't need to be to-the-second accurate. I'll decided how long it is acceptable for that data to be refreshed. Sometimes that is 5 minutes, sometimes an hour, sometimes a week. It depends on what is acceptable for that specific use case.
Forward thinking this is great if you know something will cause a bottleneck. In general, you can get a sense of where things slow down and optimize as you go along.