Teilen Sie eine einfache Cache-Klasse in PHP

*文
Freigeben: 2023-03-19 09:42:01
Original
1482 Leute haben es durchsucht

Dieser Artikel stellt Ihnen einen äußerst einfachen PHP-Caching-Code vor, der besonders für die Entwicklung von PHP-Projekten wichtig ist. Ich hoffe, es hilft allen.

Es gibt viele Informationen über die PHP-Caching-Klasse im Internet, aber diese Klasse sollte diejenige sein, die ich gesehen habe, die über Funktionen verfügt, die den Anforderungen entsprechen, aber äußerst einfach ist. Schauen wir uns ohne weitere Umschweife einfach den Code an!
Gebrauchsanweisung:
1. Instanziierung
$cache = new Cache();
2 und Cache-Verzeichnis
$cache = new Cache(60, '/any_other_path/');
Der erste Parameter ist die Cache-Sekunden, 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. Schreibcache
$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... 
}
Nach dem Login kopieren

Cache.class.php

<?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

Verwandte Empfehlungen:

Detaillierte Erklärung, wie PHP die Tabellenstruktur stapelweise ändert

Detaillierte Erklärung, wie PHP die Redis-Warteschlange verwendet, um eine automatische Bestätigung von zu realisieren Empfang von E-Commerce-Bestellungen

Detaillierte Erläuterung des Hinzufügens, Löschens und Änderns von XML-Dateien durch PHP

Das obige ist der detaillierte Inhalt vonTeilen Sie eine einfache Cache-Klasse in PHP. 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