php文件緩存類用法實(shí)例分析
更新時(shí)間:2015年04月22日 08:50:02 作者:邪云子
這篇文章主要介紹了php文件緩存類用法,以實(shí)例形式較為詳細(xì)的分析了php文件緩存類的定義、功能及具體使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了php文件緩存類用法。分享給大家供大家參考。具體如下:
<?php /** * 簡(jiǎn)單的文件緩存類 * */ class XZCache{ // default cache time one hour var $cache_time = 3600; // default cache dir var $cache_dir = './cache'; public function __construct($cache_dir=null, $cache_time=null){ $this->cache_dir = isset($cache_dir) ? $cache_dir : $this->cache_dir; $this->cache_time = isset($cache_time) ? $cache_time : $this->cache_time; } public function saveCache ($key, $value){ if (is_dir($this->cache_dir)){ $cache_file = $this->cache_dir . '/xzcache_' . md5($key); $timedif = @(time() - filemtime($cache_file)); if ($timedif >= $this->cache_time) { // cached file is too old, create new $serialized = serialize($value); if ($f = @fopen($cache_file, 'w')) { fwrite ($f, $serialized, strlen($serialized)); fclose($f); } } $result = 1; }else{ echo "Error:dir is not exist."; $result = 0; } return $result; } /** * @return array * 0 no cache * 1 cached * 2 overdue */ public function getCache ($key) { $cache_file = $this->cache_dir . '/xzcache_' . md5($key); if (is_dir($this->cache_dir) && is_file($cache_file)) { $timedif = @(time() - filemtime($cache_file)); if ($timedif >= $this->cache_time) { $result['cached'] = 2; }else{ // cached file is fresh enough, return cached array $result['value'] = unserialize(file_get_contents($cache_file)); $result['cached'] = 1; } }else { echo "Error:no cache"; $result['cached'] = 0; } return $result; } } //end of class
用法示例如下:
$cache = new XZCache(); $key = 'global'; $value = $GLOBALS; $cache->saveCache($key, $value); $result = $cache->getCache($key); var_dump($result);
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
WordPress開發(fā)中自定義菜單的相關(guān)PHP函數(shù)使用簡(jiǎn)介
這篇文章主要介紹了WordPress開發(fā)中自定義菜單的相關(guān)PHP函數(shù)使用,包括過濾掉自定義菜單中無用的class值的方法,需要的朋友可以參考下2016-01-01PHP中調(diào)試函數(shù)debug_backtrace的使用示例代碼
debug_backtrace() 是一個(gè)很低調(diào)的函數(shù),很少有人注意過它,這篇文章主要給大家介紹了關(guān)于PHP中調(diào)試函數(shù)debug_backtrace的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的朋友們隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09php+ajax實(shí)現(xiàn)無刷新分頁(yè)的方法
這篇文章主要介紹了php+ajax實(shí)現(xiàn)無刷新分頁(yè)的方法,詳細(xì)講述了數(shù)據(jù)庫(kù)的創(chuàng)建、Ajax文件的實(shí)現(xiàn)及PHP調(diào)用方法,需要的朋友可以參考下2014-11-11PHP實(shí)現(xiàn)微信圖片上傳到服務(wù)器的方法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)微信圖片上傳到服務(wù)器的方法,涉及php基于curl操作圖片文件的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-06-06