SuperCache

Allows you to cache ExpressionEngine Tag outputs (including nested tags).

This plugin does one thing CACHE! Currently it can cache ExpressionEngine tag output including the output of nested tags.
It can also cache whole parts of a template that includes various tags. One thing it cannot yet do is full page caching.

Features

  • Ability output of ExpressionEngine tags (including nesting tags)
  • Ability to cache whole parts of a template, which includes various tags and nested tags.
  • Cache can ignore the URL. (Example: Sidebar blocks are most of the time the same across the whole site)

Requirements

  • PHP 4+
  • PHP CURL extension (Not needed if allow_fopen and ini_set is enabled)
  • ExpressionEngine 1.6+

Example

They say examples are better then product descriptions.

Lets as an example the heavy {exp:tag:cloud} tag.
- Test was done on a very heavy template of a high traffic site.
- Average template render time was 1.8secs before using supercache.
- Only one instance of supercache was used (only on the {exp:tag:cloud} tag).
- Average template render time was 1sec after using one instance of the supercache plugin.

Before Supercache

(1.009833)           Calling Class/Method: Tag/cloud
(1.010022)            -> Class Called: Tag
(1.013667)            -> Method Called: cloud
(1.637060)            -> Data Returned
(1.637127)            - End Tag Processing -

After Supercache

(1.082951)           Calling Class/Method: Supercache/tag
(1.083199)            -> Class Called: Supercache
(1.083222)            -> Method Called: tag
(1.083356)           SUPERCACHE: Using cached version!!
(1.083369)            -> Data Returned
(1.083402)            - End Tag Processing -

Results

Template rendered 0.6 seconds faster, since the {exp:tag:cloud} output was cached. ExpressionEngine didn't even touch the {exp:tag:cloud} tag.

Changelog

Version 1.1.0

- Only fetches the URL one time per session (if needed at all).
- Implemented Filename security
- Allows fetching of the URL with no need of CURL (if allow_fopen and ini_set are enabled)

Version 1.0.0

- Initial Release