They are beneficial in many situations, but from time to time you find the case where using a cache introduces more latency because the failed cache request + the request to get the real data takes longer, or the failed cache request causes a cascading failure rather than a request to the real source.
Then there are all the problems with invalidation.
They are beneficial in many situations, but from time to time you find the case where using a cache introduces more latency because the failed cache request + the request to get the real data takes longer, or the failed cache request causes a cascading failure rather than a request to the real source.
Then there are all the problems with invalidation.