Skip to content
Extraits de code Groupes Projets
Valider aa6cce44 rédigé par Fil's avatar Fil
Parcourir les fichiers

utiliser le cache à bon escient (c'est-à-dire quand il est encore jeune)

parent 7a13782e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -109,9 +109,8 @@ function retire_caches() { ...@@ -109,9 +109,8 @@ function retire_caches() {
} }
// //
// Retourne 0 s'il faut recalculer le cache, 1 sinon // Retourne 0 s'il faut calculer le cache, 1 si on peut l'utiliser
// //
function utiliser_cache($chemin_cache, $delais) { function utiliser_cache($chemin_cache, $delais) {
global $HTTP_SERVER_VARS; global $HTTP_SERVER_VARS;
...@@ -120,20 +119,17 @@ function utiliser_cache($chemin_cache, $delais) { ...@@ -120,20 +119,17 @@ function utiliser_cache($chemin_cache, $delais) {
return 1; return 1;
// calcul par forcage // calcul par forcage
if ($GLOBALS['var_mode'] && if ($GLOBALS['var_mode'] &&
($GLOBALS['HTTP_COOKIE_VARS']['spip_session'] ($GLOBALS['HTTP_COOKIE_VARS']['spip_session']
|| $GLOBALS['HTTP_COOKIE_VARS']['spip_admin'] || $GLOBALS['HTTP_COOKIE_VARS']['spip_admin']
|| @file_exists(_ACCESS_FILE_NAME))) # insuffisant... || @file_exists(_ACCESS_FILE_NAME))) # insuffisant...
return 0; return 0;
// calcul par absence // calcul par absence
if (!@file_exists($chemin_cache)) return 0; if (!@file_exists($chemin_cache)) return 0;
// calcul par obsolescence // calcul par obsolescence
return ((time() - @filemtime($chemin_cache)) > $delais) ? 0 : 1;
return ((time() - @filemtime($chemin_cache)) < $delais) ? 0 : 1;
} }
...@@ -157,16 +153,14 @@ function purger_repertoire($dir, $age='ignore', $regexp = '') { ...@@ -157,16 +153,14 @@ function purger_repertoire($dir, $age='ignore', $regexp = '') {
closedir($handle); closedir($handle);
} }
function purger_cache() function purger_cache() {
{
spip_log('vider le cache'); spip_log('vider le cache');
include_ecrire('inc_invalideur.php3'); include_ecrire('inc_invalideur.php3');
supprime_invalideurs(); supprime_invalideurs();
purger_repertoire(_DIR_CACHE, 0); purger_repertoire(_DIR_CACHE, 0);
} }
function purger_squelettes() function purger_squelettes() {
{
spip_log('effacer les squelettes compiles'); spip_log('effacer les squelettes compiles');
purger_repertoire(_DIR_CACHE, 0, '^skel_'); purger_repertoire(_DIR_CACHE, 0, '^skel_');
} }
......
...@@ -117,7 +117,7 @@ function afficher_page_globale ($fond, $delais, &$use_cache) { ...@@ -117,7 +117,7 @@ function afficher_page_globale ($fond, $delais, &$use_cache) {
// eventuels fichiers inclus modifies depuis la date // eventuels fichiers inclus modifies depuis la date
// HTTP_IF_MODIFIED_SINCE du client) // HTTP_IF_MODIFIED_SINCE du client)
if ($GLOBALS['HTTP_IF_MODIFIED_SINCE'] AND !$var_mode if ($GLOBALS['HTTP_IF_MODIFIED_SINCE'] AND !$var_mode
AND $chemin_cache AND !$flag_dynamique) { AND $chemin_cache AND !$flag_dynamique) {
$lastmodified = @filemtime($chemin_cache); $lastmodified = @filemtime($chemin_cache);
$headers_only = http_last_modified($lastmodified); $headers_only = http_last_modified($lastmodified);
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter