Partager une classe de cache simple en PHP

*文
Libérer: 2023-03-19 09:42:01
original
1414 Les gens l'ont consulté

Cet article partage avec vous un code de mise en cache PHP extrêmement simple. L'application du cache est particulièrement importante pour le développement de projets PHP. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.

Il existe de nombreuses informations sur la classe de mise en cache PHP sur Internet, mais cette classe est probablement celle que j'ai vue qui répond aux besoins mais qui est extrêmement simple. Sans plus tarder, regardons simplement le code !
Instructions d'utilisation :
1. Instanciation
$cache = new Cache(); et le répertoire de cache
$cache = new Cache(60, '/any_other_path/');
Le premier paramètre est les secondes du cache, le deuxième paramètre est le chemin du cache, configurez-le selon vos besoins .
Par défaut, la durée du cache est de 3600 secondes et le répertoire du cache est cache/


3 Lire le cache
$value = $cache-> get ('data_key');
4. Cache d'écriture
$value = $cache->put('data_key', 'data_value'); >
Exemple complet :

Cache.class.php

$cache = new Cache(); 
 
//从缓存从读取键值 $key 的数据 
$values = $cache->get($key); 
 
//如果没有缓存数据 
if ($values == false) { 
//insert code here... 
//写入键值 $key 的数据 
$cache->put($key, $values); 
} else { 
//insert code here... 
}
Copier après la connexion

Recommandations associées :

<?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 
} 
} 
?>
Copier après la connexion

Explication détaillée de la façon dont PHP modifie la structure des tables par lots

Explication détaillée de PHP utilisant la file d'attente Redis pour réaliser la confirmation automatique de réception des commandes e-commerce

Explication détaillée de l'ajout, de la suppression et de la modification par PHP des fichiers XML

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!