Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der PHP-Cache-Klasseninstanzen

Detaillierte Erläuterung der PHP-Cache-Klasseninstanzen

小云云
小云云Original
2018-03-10 11:03:3012213Durchsuche

Dieser Artikel enthält hauptsächlich detaillierte Erläuterungen zu Beispielen für PHP-Cache-Klassen und soll Ihnen helfen, die Verwendung des Caches besser zu verstehen.

Empfohlenes Handbuch: php vollständiges Selbstlernhandbuch

1. Instanziierung

$cache = new Cache();

2. Legen Sie die Cache-Zeit und das Cache-Verzeichnis fest

$cache = new Cache(60, '/any_other_path/');

Der erste Parameter sind die Cache-Sekunden und der zweite Parameter ist der Cache-Pfad. Konfigurieren Sie ihn nach Bedarf.
Standardmäßig beträgt die Cache-Zeit 3600 Sekunden und das Cache-Verzeichnis ist Cache/

3 Lese-Cache

$value = $cache->get('data_key');

4. Schreiben Enter Cache

$value = $cache->put('data_key', 'data_value');

Vollständiges Beispiel:

$cache = new Cache();

//从缓存从读取键值 $key 的数据
$values = $cache->get($key);

//如果没有缓存数据
if ($values == false) {
	//insert code here...
	//写入键值 $key 的数据
	$cache->put($key, $values);
} else {
	//insert code here...
}
<?php
class Cache {
	private $cache_path;//path for the cache
	private $cache_expire;//seconds that the cache expires

	//cache constructor, optional expiring time and cache path
	public function Cache($exp_time=3600,$path="cache/"){
		$this->cache_expire=$exp_time;
		$this->cache_path=$path;
	}

	//returns the filename for the cache
	private function fileName($key){
		return $this->cache_path.md5($key);
	}

	//creates new cache files with the given data, $key== name of the cache, data the info/values to store
	public function put($key, $data){
		$values = serialize($data);
		$filename = $this->fileName($key);
		$file = fopen($filename, &#39;w&#39;);
	    if ($file){//able to create the file
	        fwrite($file, $values);
	        fclose($file);
	    }
	    else return false;
	}

	//returns cache for the given key
	public function get($key){
		$filename = $this->fileName($key);
		if (!file_exists($filename) || !is_readable($filename)){//can&#39;t read the cache
			return false;
		}
		if ( time() < (filemtime($filename) + $this->cache_expire) ) {//cache for the key not expired
			$file = fopen($filename, "r");// read data file
	        if ($file){//able to open the file
	            $data = fread($file, filesize($filename));
	            fclose($file);
	            return unserialize($data);//return the values
	        }
	        else return false;
		}
		else return false;//was expired you need to create new
 	}
}
?>
Empfohlene verwandte Artikel:
1.Das Prinzip und die Verwendung von TP5 Cache
2.PHP-Daten-Caching-Cache-Klasse(herunterladen)
Ähnliche Videoempfehlungen:
1.Dugu Jiujian (4)_PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Cache-Klasseninstanzen. 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
Vorheriger Artikel:Ajax- und PHP-BeispielanalyseNächster Artikel:Ajax- und PHP-Beispielanalyse