 <p>Sorry I did not replay earlier. Quickly, I'll would like to present one way of catching this for your consideration. For simplicity, I'll just concentrate on caching your outputs using Output frontend. </p> <p>In you application.ini you can setup your catching as follows: </p> <pre><code>resources.cachemanager.myviewcache.frontend.name = Output resources.cachemanager.myviewcache.frontend.customFrontendNaming = false resources.cachemanager.myviewcache.frontend.options.lifetime = 7200 resources.cachemanager.myviewcache.frontend.options.caching = true resources.cachemanager.myviewcache.frontend.options.automatic_serialization = true resources.cachemanager.myviewcache.backend.name = Apc </code></pre> <p>Note, that I use Apc as a backend. You may use file backend if you don't have or don't want Apc.</p> <p>With this, I would cache your posts and comments separately. For example, in <code>_posts.phtml</code> you could do something similar to the following:</p> <pre><code>// first cache an output related to the body of your post with key being associated // with your post. if (!($this-&gt;viewCache()-&gt;start('post_' . (string) $this-&gt;object-&gt;post_id))) { echo $this-&gt;object-&gt;title; echo $this-&gt;object-&gt;text; } // now I cache an output of a comments associated with a give post if (!($this-&gt;viewCache()-&gt;start('post_comments_' . (string) $this-&gt;object-&gt;post_id))) { echo $this-&gt;partialLoop('_comments.phtml',$this-&gt;object-&gt;getComments()); } </code></pre> <p>In this example, viewCache() view helper is as follows:</p> <pre><code>class My_View_Helper_ViewCache extends Zend_View_Helper_Abstract { /** * * @return Zend_Cache_Frontend_Output */ public function viewCache() { return Zend_Registry::get('outputCache'); } } </code></pre> <p>Whereas I set <code>outputCache</code> into registry in the Bootstrap.php:</p> <pre><code>protected function _initPutChachesIntoRegistry() { $this-&gt;bootstrap('cachemanager'); $cacheManager = $this-&gt;getResource('cachemanager'); Zend_Registry::set('outputCache', $cacheManager-&gt;getCache('myviewcache')); } </code></pre> <p>Notice that caches are associated with keys which in turn relate to a given post and its comments. With this, when you get a new comment, you just reset a cache related to the given post. For example, in an action, you can remove comment cache for a post with $post_id=5 as follows:</p> <pre><code>$this-&gt;view-&gt;viewCache()-&gt;remove('post_comments_' . $post_id); </code></pre> <p>Hope that this will help you or at least give you some ideas how to make it. </p>