Maison >développement back-end >tutoriel php >Partager une classe de cache simple en PHP

Partager une classe de cache simple en PHP

*文
*文original
2018-01-05 11:40:301526parcourir

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... 
}

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

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!

Déclaration:
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