Heim  >  Artikel  >  Backend-Entwicklung  >  Nutzungsanalyse der PHP-Datei-Cache-Klasse

Nutzungsanalyse der PHP-Datei-Cache-Klasse

不言
不言Original
2018-06-15 16:15:461020Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung der PHP-Datei-Cache-Klasse vor. Er analysiert die Definition, Funktionen und spezifischen Verwendungstechniken der PHP-Datei-Cache-Klasse im Detail und ist von großem praktischem Wert it

Das Beispiel in diesem Artikel beschreibt die Verwendung der PHP-Datei-Cache-Klasse. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

<?php
/**
 * 简单的文件缓存类
 *
 */
class XZCache{
 // default cache time one hour
 var $cache_time = 3600;
 // default cache dir
 var $cache_dir = &#39;./cache&#39;;
 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 . &#39;/xzcache_&#39; . 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, &#39;w&#39;)) {
     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 . &#39;/xzcache_&#39; . md5($key);
  if (is_dir($this->cache_dir) && is_file($cache_file)) {
   $timedif = @(time() - filemtime($cache_file));
   if ($timedif >= $this->cache_time) {
    $result[&#39;cached&#39;] = 2;
   }else{
    // cached file is fresh enough, return cached array
    $result[&#39;value&#39;] = unserialize(file_get_contents($cache_file));
    $result[&#39;cached&#39;] = 1;
   }
  }else {
   echo "Error:no cache";
   $result[&#39;cached&#39;] = 0;
  }
  return $result;
 }
} //end of class

Anwendungsbeispiele lauten wie folgt:

$cache = new XZCache();
$key = &#39;global&#39;;
$value = $GLOBALS;
$cache->saveCache($key, $value);
$result = $cache->getCache($key);
var_dump($result);

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Über PHP, das Besuchern und Crawlern verschiedene Inhaltscodes anzeigt

Über die multifunktionale PHP-Bildverarbeitung Klassencode

Das obige ist der detaillierte Inhalt vonNutzungsanalyse der PHP-Datei-Cache-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn