This is an enhancement over drupal's default cache.

About the default Drupal7 cache
There is a lot of confusion and misunderstanding about Drupal's default cache. In particular regarding the 'Minimum cache lifetime' setting. Contrary to common understanding, each cached page does not have a lifetime according the 'Minimum cache lifetime'.
In fact, every cached page is flagged as TEMPORARY in the cache_page table. On every cron run, if time from the last cache clear is equal or above the 'Minimum cache lifetime' then all TEMPORARY cache entries are deleted. This means that a page which is cached just 2 minutes ago will also be removed from cache even if the 'Minimum cache lifetime' is set to 1 WEEK.
Apart from that, default cache makes no discrimination between different types of pages. All pages are cached as 'TEMPORARY' and are handled the same.

So, default drupal cache poses 2 main problems.
1) No discrimination between different types of pages and requests
2) Everything is deleted when Minimum cache lifetime expires.

More information about the above problem can be found in the following article
https://www.drupal.org/node/1279654

What Better Cache does
This module does mainly 3 things
1) Allows cache to handle differently each page type
2) Allows the admin to set different cache lifetimes for the different page types
3) Lifetime now behaves as expected. Each page cache respects its own lifetime.

Module Technical Details
The module provides extra functionality for page caching. This means that it only affects records saved by the default cache in the database table 'cache_page'. Each page url which matches at least one of the rules you define, is not cached as 'TEMPORARY' any more but with a specific expiration date. The expiration date is the current timestamp + the minutes that are defined with the rule.
On every cron run, only the cached pages which have an expired expiration date will be deleted from the cache.

Installation
Typical installation through the admin interface or drush

Configuration
After module is installed, a new admin menu entry is created under config->performance->better_cache.
In the module's configuration form there is only one textarea element. In there, the admin can set one or more cache rules, each on a different line.
The rules should be in the format of URI_PATTERN-LIFETIME. LIFETIME is in minutes
Please put multiple rules in different lines.
Example:
mysite.com/node/4-500
mysite.com/node-200
mysite/-80

Attention:
1) For each anonymous page the above rules will be tried to be matched in the same order that you have put them. The first mached rule will be used to set the cache.
2) A rule is matched if it's a substring of the requested URI and not just an exact match.
For example the rule mysite.com/node/ will match mysite.com/node/ but also every node uri e.g. mysite.com/node/1, mysite.com/node/2 e.t.c.

Supporting organizations: 
Funded the development of this module

Project information

Releases