From d03f540d6493b8e7717f914efb5ea0612e3a0923 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Tue, 12 Sep 2006 15:18:16 +0000 Subject: [PATCH] invalidation des caches lors de modifs substantielle de la base : approche brutalement efficace --- ecrire/inc_version.php | 3 +++ ecrire/public/cacher.php | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 6a7b74fbf8..5b060376e2 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -124,6 +124,9 @@ $ignore_remote_user = true; # methode obsolete et risquee #$invalider_caches = 'id_article,id_breve,id_rubrique,id_syndic'; $invalider_caches = ''; +// Autre approche, egalement experimentale : tout invalider si modif +$derniere_modif_invalide = false; + // Quota : la variable $quota_cache, si elle est > 0, indique la taille // totale maximale desiree des fichiers contenus dans le CACHE/ ; // ce quota n'est pas "dur", il ne s'applique qu'une fois par heure et diff --git a/ecrire/public/cacher.php b/ecrire/public/cacher.php index 71ca9512a3..3a22e08460 100644 --- a/ecrire/public/cacher.php +++ b/ecrire/public/cacher.php @@ -164,6 +164,12 @@ function cache_valide_autodetermine($chemin_cache, $page, $date) { if (!$page) return 1; + // Cache invalide par la meta 'derniere_modif' + if ($GLOBALS['derniere_modif_invalide'] + AND $date < $GLOBALS['meta']['derniere_modif']) + return 1; + + // Duree du cache precisee par #CACHE{x} if (isset($page['entetes']['X-Spip-Cache'])) { $duree = intval($page['entetes']['X-Spip-Cache']); if ($duree == 0) #CACHE{0} -- GitLab