Caching with PEAR::Cache - Implementing a Framework
(Page 4 of 6 )
The generateID method creates an md5 hash based on a given value. The hash can be used to identify the cached script results and is passed to the get and save methods when retrieving and storing the data.
The save method accepts a minimum of two arguments: the id and the contents to store in the cache. However, information that changes must be regenerated and recached. A number representing the length of time for which the cached information is to be considered valid may be passed as a third argument (the time is measured in seconds). For example, the following example caches information with a shelf-life of 24 hours:
If the cached data's life is not set then it will never expire.
Output buffering can be used to capture a script's output for storage as it is being generated. If you're not already familiar with the output buffering functionality provided by PHP, I recommend Michael Bailey's excellent tutorial entitled PHP Output Buffering.
<?php ob_start(); // ...PHP script which results in output goes here. $content = ob_get_contents(); ob_end_clean(); $cache->save($cached_id, $content, 3600); //cache for 1 hour ?>
The get method accepts an id and returns the cached content if it exists. If the content doesn't exist or has expired it will return null.
<?php if ($content = $cache->get($cached_id)) echo $content; ?>