国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP文件緩存內容保存格式實例分析

2024-05-04 23:25:09
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP文件緩存內容保存格式,是PHP程序開發中非常實用的功能,需要的朋友可以參考下
 
 

本文實例講述了PHP文件緩存內容保存格式,對于進行PHP項目開發非常具有實用價值。分享給大家供大家參考借鑒。具體分析如下:

1、PHP文件緩存內容保存格式

PHP文件緩存內容保存格式主要有三種:

(1)變量 var_export 格式化成PHP正常的賦值書寫格式;
(2)變量 serialize 序列化之后保存,用的時候反序列化;
(3)變量 json_encode格式化之后保存,用的時候json_decode

互聯網上測試結果是:serialize格式的文件解析效率大于Json,Json的解析效率大于PHP正常賦值。
所以我們要是緩存數據建議采用序列化的形式解析數據會更快。

2、PHP文件緩存的簡單案例

<?phpclass Cache_Driver {  //定義緩存的路徑  protected $_cache_path;  //根據$config中的cache_path值獲取路徑信息  public function Cache_Driver($config) {    if (is_array($config) && isset($config['cache_path'])) {      $this->_cache_path = $config['cache_path'];    } else {      $this->_cache_path = realpath(dirname(__FILE__) . "/") . "/cache/";    }  }  //判斷key值對應的文件是否存在,如果存在,讀取value值,value以序列化存儲  public function get($id) {    if (!file_exists($this->_cache_path . $id)) {      return FALSE;    }    $data = @file_get_contents($this->_cache_path . $id);    $data = unserialize($data);    if (!is_array($data) || !isset($data['time']) || !isset($data['ttl'])) {      return FALSE;    }    if ($data['ttl'] > 0 && time() > $data['time'] + $data['ttl']) {      @unlink($this->_cache_path . $id);      return FALSE;    }    return $data['data'];  }  //設置緩存信息,根據key值,生成相應的緩存文件  public function set($id, $data, $ttl = 60) {    $contents = array(      'time' => time() ,      'ttl' => $ttl,      'data' => $data    );    if (@file_put_contents($this->_cache_path . $id, serialize($contents))) {      @chmod($this->_cache_path . $id, 0777);      return TRUE;    }    return FALSE;  }  //根據key值,刪除緩存文件  public function delete($id) {    return @unlink($this->_cache_path . $id);  }  public function clean() {    $dh = @opendir($this->_cache_path);    if (!$dh) return FALSE;    while ($file = @readdir($dh)) {      if ($file == "." || $file == "..") continue;      $path = $this->_cache_path . "/" . $file;      if (is_file($path)) @unlink($path);    }    @closedir($dh);    return TRUE;  }}

希望本文所述PHP緩存實例對大家的PHP程序開發能起到一定的幫助借鑒作用。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浑源县| 凌云县| 搜索| 兴化市| 错那县| 佛学| 华蓥市| 全南县| 定南县| 板桥市| 无锡市| 郯城县| 三原县| 满城县| 寻乌县| 望奎县| 武夷山市| 江口县| 夏河县| 大足县| 察雅县| 临湘市| 长岭县| 永宁县| 青川县| 山东省| 天津市| 潜江市| 斗六市| 宣威市| 乌苏市| 五河县| 贵港市| 东乡族自治县| 文昌市| 光山县| 黑龙江省| 根河市| 锦屏县| 罗平县| 托克逊县|