Cache::STOCKAGE_MODE_SQLITE,
'stockage_chemin' => Fichier::getDossierTmp().DS.'cache.sqlite',
'controle_ecriture' => false,
'mise_en_cache' => true,
'cache_id_prefixe' => null,
'serialisation_auto' => false,
'nettoyage_auto' => 10,
'duree_de_vie' => 3600,
);
$cache = new Cache($options);
$id = 'monCache'; // id de cache de "ce que l'on veut cacher"
$id01 = $id.'01';
$id02 = $id.'02';
$id03 = $id.'03';
if (!($donnees = $cache->charger($id01))) {
$donnees = 'Mise en cache à : '.strftime('%A %d %B %Y à %H:%M:%S', time()).'
';
for ($i = 0; $i < 100000; $i++) {
$donnees .= $i;
}
$cache->sauver($donnees, $id01);
$cache->sauver($donnees, $id02, array('tagTest01'));
$cache->sauver($donnees, $id03, array('tagTest01','tagTest02', 'tagTest03'));
}
// Affichage des données
echo $donnees.'
';
// Affichage des ids du cache
echo 'Ids des enregistrements en cache :
'.print_r($cache->getIds(), true).''; // Affichage des ids du cache echo 'Tags des enregistrements en cache :
'.print_r($cache->getTags(), true).''; // Affichage des ids du cache pour un tag donnée $tag01 = 'tagTest01'; $tag02 = 'tagTest02'; $tag03 = 'tagTest03'; echo "Ids avec les tag '$tag02, $tag03' : ".'
'.print_r($cache->getIdsAvecLesTags(array($tag02, $tag03)), true).''; echo "Ids possédant le tag '$tag01' : ".'
'.print_r($cache->getIdsAvecUnTag(array($tag01)), true).''; echo "Ids sans les tag '$tag01, $tag02' : ".'
'.print_r($cache->getIdsSansLesTags(array($tag01, $tag02)), true).''; // Test du test de l'existence du cache $id_test = $id01; echo ($cache->tester($id_test) ? "OK : le cache '$id_test' existe" : "KO : le cache '$id_test' devrait exister").'
".print_r($meta03, true).''; $meta01 = $cache->getMetadonnees($id_test); echo "Métadonnées du cache '$id_test' :
".print_r($meta01, true).''; // Nettoyage & suppression echo "Temps avant suppression du cache : ".(time() - $meta01['expiration']).'s