cache view content, and re-generate view with cached content on request