Is the caching done to improve performance of for business logic or done to speed up data passthrough to a front-end? If it is the last scenario then you are probably better of with a caching solution that does its job way earlier then at the point where the data would be retrieved from the database. For example, output caching.