fare una cache a livello di oggetti che gestiscono il database è sempre consigliabile, anche perchè una pagina potrebbe essere formata da diverse parti che richiedono diverse scadenze

ad esempio, una pagina con l'elenco di news può variare durante il giorno, ma le news no, quindi quando viene aggiunta una nuova news e devi ricreare quella pagina sei costretto a ricaricare anche tutte le altre news dal database, se invece hai una cache anche per gli oggetti che gestiscono il database dovresti solo invalidare la cache della pagina delle news e caricare da zero solamente la nuova news, senza dover richiedere a mysql anche tutte le altre.