Download
cache.class.php
AXELS CONTENT CACHE CLASS
V2.3
http://www.axel-hahn.de/php_contentcache
License: GNU/GPL v3
2009-07-20 1.0 cache class on www.axel-hahn.de
2011-08-27 1.1 comments added; sCacheFile is private
2012-02-04 2.0 cache serialzable types; more methods, i.e.: - comparison of timestimp with a sourcefile
- cleanup unused cachefiles
2012-05-15 2.1 isExpired() returns as bool; new method iExpired() to get expiration in sec
2012-05-15 2.2 - rename to AhCache - _cleanup checks with file_exists
2014-03-31 2.3 - added _setup() that to includes custom settings - limit number of files in cache directory
--- typical usage:
example using expiration (ttl value):
$sContent='';
$iTtl=60*5; // 5 min
require_once("/php/cache.class.php");
$myCache=new AhCache("my-app","task-id");
if($myCache->isExpired()) {
// cache does not exist or is expired
$sContent=...
// save cache
$myCache->write($sContent, $iTtl);
} else {
// read cached data
$sContent=$myCache->read();
}
// output
echo $sContent;
example compare age of cache with age of a sourcefile
require_once("/php/cache.class.php");
$sCsvFile="my_source_file.csv"
$myCache=new AhCache("my-app","task-id");
$sContent=$myCache->read(); // read cached data
// comparison of last modified time (mtime)
if (!$myCache->isNewerThanFile($sCsvFile)) {
// update content
$sContent=...
// ... and save cache
$myCache->write($sContent);
};
// output
echo $sContent;
cleanup cache directory
require_once("/php/cache.class.php");
$o=new AhCache("my-app");
$o->cleanup(606024*1); // delete all Cachefiles of the module "my-app" older 1 day
or cleanup cachefiles of all modules
$o=new Cache(); $o->cleanup(606024*1);
|