BigTree supports very basic static caching based on the URL (and GET variables) entered. For instance, if you enter http://www.website.com/test/ and http://www.website.com/test/?another=test they will be cached separately. This enables you to still use GET variables in your templates and have caching serve up the proper page. There is a small chance for cache collisions due to md5 hashes being used for cache keys. For this reason (and the low level of caching at the moment) caching is considered a beta feature.

Caching does not function in "Basic" routing mode. You must have rewrite enabled.

When Caches Are Cleared

Pages remain cached for 5 minutes and are then regenerated. This can be adjusted by manually editing your /site/index.php file and increasing the filemtime comparison. Other things that can clear a cached page include:

  • Creating a New Page — Because we're not entirely sure where you may be drawing this new page in navigation, all pages in the cache are cleared.
  • Updating a Page — When a page is updated and published, BigTree attempts to clear the page's cache. This will only clear the cache on the basic URL with no additional GET variables appended.
  • Manually Calling $admin->clearCache — This method will empty the /cache/ folder of all files.

When a Page Is Not Cached

If a user hits a page with POST variables, the page will not be cached. This is so that form submissions still occur and their process pages are not cached. You can also manually tell BigTree to not cache a page by defining the BIGTREE_DO_NOT_CACHE constant.