Heim  >  Artikel  >  Backend-Entwicklung  >  Definition und Funktion der PHP-Datei-Cache-Klasse

Definition und Funktion der PHP-Datei-Cache-Klasse

墨辰丷
墨辰丷Original
2018-06-11 14:32:331299Durchsuche

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. 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 sind wie folgt:

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

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird hilfreich sein zum Lernen aller.

Verwandte Empfehlungen:

Eine kurze Einführung in die magischen Methoden, die in PHP bereitgestellt werden

php groß angelegt Datenübermittlungsmethode

So verwenden Sie foreach() in PHP

Das obige ist der detaillierte Inhalt vonDefinition und Funktion 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