cache_expire = $exp_time; $this->cache_path = $path; } // returns the filename for the cache private function fileName($key) { return $this->cache_path . md5 ( $key ); } // creates new cache files with the given data, $key== name of the cache, data the info/values to store public function put($key, $data) { $values = serialize ( $data ); $filename = $this->fileName ( $key ); $file = fopen ( $filename, 'w' ); if ($file) { // able to create the file fwrite ( $file, $values ); fclose ( $file ); } else return false; } // returns cache for the given key public function get($key) { $filename = $this->fileName ( $key ); if (! file_exists ( $filename ) || ! is_readable ( $filename )) { // can't read the cache return false; } if (time () < (filemtime ( $filename ) + $this->cache_expire)) { // cache for the key not expired $file = fopen ( $filename, "r" ); // read data file if ($file) { // able to open the file $data = fread ( $file, filesize ( $filename ) ); fclose ( $file ); return unserialize ( $data ); // return the values } else return false; } else return false; // was expired you need to create new } } /* 使用说明: 1、实例化 $cache = new tsFileCache(); 2、设置缓存时间和缓存目录 $cache = new tsFileCache(60, '/any_other_path/'); 第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置。 默认情况下,缓存时间是 3600 秒,缓存目录是 cache/ 3、读取缓存 $value = $cache->get('data_key'); 4、写入缓存 $value = $cache->put('data_key', 'data_value'); 完整实例: $cache = new tsCache(); //从缓存从读取键值 $key 的数据 $values = $cache->get($key); //如果没有缓存数据 if ($values == false) { //insert code here... //写入键值 $key 的数据 $cache->put($key, $values); } else { //insert code here... } */