Modern database provide caching support. Most of the ORM frameworks cache retrieved data too. Why this duplication is necessary?