Drupal's building and rendering process of entities is quite time consuming. This module attempts to alleviate needless rebuilding and re-rendering of entities on subsequent page loads by caching.
When an entity is updated a new cache key is generated; there's no waiting for a cache to time out.
Currently this module only aims at caching rendered entities, however if you have an idea for other general render caching please submit an issue.
How to use
Unfortunately, there's no way to hook into core Drupal functions such as node_view() to provide caching of rendered entities site wide - I tried, a lot.
However the module entity API provides an entity_view() method which renders any entity type your site provides. This module hooks into that process and essentially hijacks any entity rendering to check for caching before rendering.
If your code base consistently uses entity_view() instead of node_view(), taxonomy_term_view(), etc, then render cache can improve your page build time dramatically.
render_cache_views module can also hijack the views node view row plugin, bundled with the views module, to provide render caching.
render_cache_ds module can also hijack the views display suite row plugin, bundled with the ds module, to provide render caching.
Render cache can also take over the node/% router path and provide caching for those entities by enabling the render_cache_node module.
render_cache_comments module can hijacks the default comments display from node module.
render_cache_context can also cache blocks placed by context module.