常见php数据文件缓存类汇总 本文实例汇总了常见php数据文件缓存类。分享给大家供大家参考。具体分析如下: 数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与数据文件缓存。感兴趣的朋友可以参考一下。 1.对于一般的变量,把该变量变成php语言的格式,写到文件中,用时只要include这个文件就相当于加载了cache了. 2.对于array型的变量,把array转化为php语言定义array的字符串,写到文件中,用时也只要include就相当于加载了cache了. 3.缓存cache时间上的控制,通过获取缓存文件的创建时间和现在的时间进行对比,如果没有到更新时间,直接读取缓存,如果到了更新时间,查询数据库. 文件缓存类,代码如下: 复制代码 代码如下: $val) { $key = is_string($key) ? ''' . addcslashes($key, ''\') . ''' : $key; $val = !is_array($val) && (!preg_match('/^-?[1-9]d*$/', $val) || strlen($val) > 12) ? ''' . addcslashes($val, ''\') . ''' : $val; if (is_array($val)) { $evaluate .= "$comma$key => " . arrayEval($val, '', $level + 1); } else { $evaluate .= "$comma$key => $val"; } $comma = ",n$space2"; } } $evaluate .= "n$space)"; // 最后才需要一个“;” if ($level == 0) { $evaluate .= ";"; } return $evaluate; } /** * 写入缓存 * * @param string $path * @param string $arrayName * @param array $data * * @return boolean */ public static function writeCache($path, $arrayName, $data) { if ($handle = fopen($path, 'w+')) { $data = self::arrayEval($data, $arrayName); $dataConvert = " 调用方法,代码如下: 复制代码 代码如下:/** * 生成文件缓存 * * @param string $filePath 缓存文件的保存路径 * @param string $arrayName 存放在缓存文件中的数组名称 * @param array $data 数据 * * @return boolean */ DataCache::writeCache($filePath, $arrayName, $data); memcache来缓存数据,这里提供这个文件缓存的类,代码如下: 复制代码 代码如下: __SYS_TIME) { return $data['content']; } else { unlink($file); return array(); } } } /** * 删除缓存文件 * @param $key 缓存$key * @return Bool */ public static function delCache($key) { if (@unlink(__SITE_FILE_CACHE."/".$key.".php")) { return true; } else { return false; } } /** * 清除所有缓存文件 * @return Bool */ public static function clearAllCache() { $files = scandir(__SITE_FILE_CACHE); foreach ($files as $val) { @unlink(__SITE_FILE_CACHE."/".$val); } } /** * 出错处理函数 * @param $line 行数 * @param $msg 信息 */ public static function error($line,$msg) { die("出错文件:".__file__."/n出错行:$line/n错误信息:$msg"); } } ?> 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。