一个简单的php缓存类
<?php /** * Class Cache * * @author Koen Ekelschot * @license WTFPL */ class Cache { private $cachedFile; public function __construct($identifier) { $this->cachedFile = ROOT.DS.'tmp'.DS.'cache'.DS.md5($identifier); } public function cacheExists($maxAge) { if (file_exists($this->cachedFile) && !is_dir($this->cachedFile)) { if (filemtime($this->cachedFile) + $maxAge > time()) { return true; } else { $this->invalidateCache(); } } return false; } public function getCachedCopy() { $contents = file_get_contents($this->cachedFile); return unserialize(base64_decode($contents)); } public function getCachedFilename() { return str_replace(ROOT, '', $this->cachedFile); } public function cacheResult($result) { if (file_exists($this->cachedFile) && !is_dir($this->cachedFile)) { $this->invalidateCache(); } $base64 = base64_encode(serialize($result)); file_put_contents($this->cachedFile, $base64); } private function invalidateCache() { unlink($this->cachedFile); } } ?>