Cache::STOCKAGE_MODE_FICHIER, 'stockage_chemin' => Fichier::getDossierTmp(), 'controle_ecriture' => false, 'mise_en_cache' => true, 'cache_id_prefixe' => null, 'serialisation_auto' => false, 'nettoyage_auto' => 10, 'duree_de_vie' => 3600, ); // Redéfinition ici mais peut être configuré depuis le fichier config.ini $options_stockage = array( 'fichier_verrou' => false, 'controle_lecture' => false, 'controle_lecture_type' => 'crc32', 'dossier_niveau' => 2, 'dossier_umask' => 0707, 'fichier_prefixe' => 'tbf', 'fichier_umask' => 0606, 'metadonnees_max_taille' => 100 ); $cache = new Cache($options, $options_stockage); $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").'
'; // Affichage du pourcentage de remplissage echo 'Pourcentage de remplissage : '.$cache->getPourcentageRemplissage().'%
'; // Affichage des métadonnées $meta03 = $cache->getMetadonnees($id03); echo "Métadonnées du cache '$id03' :
".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
'; if ((time() - $meta01['expiration']) >= -30) { // Suppressions $cache->supprimer($id_test); echo (!$cache->tester($id_test) ? "OK : le cache '$id_test' a bien été supprimé" : "KO : le cache '$id_test' n'a pas été supprimé").'
'; // Nettoyage $cache->nettoyer(Cache::NETTOYAGE_MODE_AVEC_LES_TAGS, array($tag02, $tag03)); echo (!$cache->tester($id03) ? "OK : le cache '$id03' a bien été supprimé" : "KO : le cache '$id03' n'a pas été supprimé").'
'; $cache->nettoyer(Cache::NETTOYAGE_MODE_SANS_LES_TAGS, array($tag01)); echo ($cache->tester($id02) ? "OK : le cache '$id02' n'a pas été supprimé" : "KO : le cache '$id02' a été supprimé").'
'; $cache->nettoyer(Cache::NETTOYAGE_MODE_EXPIRATION); echo ($cache->tester($id02) ? "OK : le cache '$id02' n'a pas été supprimé" : "KO : le cache '$id02' a été supprimé").'
'; $cache->nettoyer(Cache::NETTOYAGE_MODE_TOUS); echo (!$cache->tester($id01) ? "OK : le cache '$id02' a été supprimé" : "KO : le cache '$id02' n'a pas été supprimé").'
'; } else if ((time() - $meta01['expiration']) < -60) { // Test ajout d'une durée de vie supplémentaire $meta01 = $cache->getMetadonnees($id_test); echo "Durée de vie du cache '$id_test' : ".$meta01['expiration'].'
'; $cache->ajouterSupplementDureeDeVie($id_test, -3540); $meta02 = $cache->getMetadonnees($id_test); echo "Durée de vie du cache '$id_test' après ajout supplément de -3540s : ".$meta02['expiration']. ' - diff. : '.($meta02['expiration'] - $meta01['expiration']).'
'; } } } ?>