您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP缓存之文件缓存

2024/3/31 21:13:01发布19次查看
1、php文件缓存内容保存格式
       php文件缓存内容保存格式主要有三种:
       (1)变量 var_export 格式化成php正常的赋值书写格式;
       (2)变量 serialize 序列化之后保存,用的时候反序列化;
       (3)变量 json_encode格式化之后保存,用的时候json_decode
       互联网上测试结果是:serialize格式的文件解析效率大于json,json的解析效率大于php正常赋值。
       所以我们要是缓存数据建议采用序列化的形式解析数据会更快。
2、php文件缓存的简单案例
[php] view plain copy print ?
_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;      }  }
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product