Detaillierte Erläuterung der PHP-Cache-Klasseninstanzen

小云云
Freigeben: 2023-03-21 07:26:01
Original
12221 Leute haben es durchsucht

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();
Nach dem Login kopieren

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

$cache = new Cache(60, '/any_other_path/');
Nach dem Login kopieren

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');
Nach dem Login kopieren

4. Schreiben Enter Cache

$value = $cache->put('data_key', 'data_value');
Nach dem Login kopieren

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...
}
Nach dem Login kopieren
<?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
 	}
}
?>
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage