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.
<?php $cached_id = $cache->generateID($_SERVER["PHP_SELF"]); ?> |
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:
<?php // 60 seconds × 60 minutes × 24 hours = 86400 seconds/day $cache->save($cached_id, $content, 86400); ?> |
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; ?> |
Next: Combined Code >>
More PEAR Articles Articles
More By bluephoenix