Afin de n'invalider la totalité du cache uniquement lorsqu'un nouveau
message de forum est publié,
Pas sur de comprendre : tu voudrais que le cache ne soit pas invalidé quand on publie ou modifie un article ?
JLuc
j'ai ajouté à mes_options.php :
$derniere_modif_invalide = array('forum');
J'ai en effet testé :
$derniere_modif_invalide = false;
Et me suis aperçu qu'un visiteur publiant un message de forum ne
pouvait le voir que lorsque l'article par exemple était recalculé #CACHE{24*3600}.
Avec la publication d'un message de forum, tout le cache est invalidé,
y compris articles ...
Est-ce bien cela ?
Cordialement,
Eric
PS : je n'utilise que le cache standard de SPIP 3.2.1
Je ne comprend pas.
Peux tu indiquer clarirement ce que tu veux ?
JL
Pas sur de comprendre : tu voudrais que le cache ne soit pas invalidé
quand on publie ou modifie un article ?
JLuc
avec
$derniere_modif_invalide = false;
Le cache est invalidé seulement lorsqu'un recalcul est demandé par la
balise #CACHE{temps en seconde}, ou la demande manuelle de
calcul/recalcul (var_mode=recalcul) quelque soit l'activité éditoriale
sur le site.
Si bien que lorsqu'un message de forum est posté, même avec la
modération à posteriori, celui-ci ne sera visible que lorsque la
visualisation du contenu interviendra après que #CACHE{temps} se soit
écoulé.
J'ai donc changé pour :
$derniere_modif_invalide = array('forum');
Qui à priori déclenchera le recalcul sur la publication d'un message de
forum.
Est ce que cela invalide tout le cache lorsqu'un message de forum est
publié ?
Ce que je "voudrais" : seul le contenu sur lequel le message de forum
est publié est recalculé.
Cordialement,
Eric
j'ai ajouté à mes_options.php :
>
> $derniere_modif_invalide = array('forum');
>
> J'ai en effet testé :
> $derniere_modif_invalide = false;
> Et me suis aperçu qu'un visiteur publiant un message de forum ne
> pouvait le voir que lorsque l'article par exemple était recalculé
> #CACHE{24*3600}.
> Avec la publication d'un message de forum, tout le cache est
> invalidé,
> y compris articles ...
>
> Est-ce bien cela ?
>
> Cordialement,
>
> Eric
>
> PS : je n'utilise que le cache standard de SPIP 3.2.1
Je ne comprend pas.
Peux tu indiquer clarirement ce que tu veux ?
JL
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
J'ai donc changé pour :
$derniere_modif_invalide = array('forum');
Qui à priori déclenchera le recalcul sur la publication d'un message de
forum.
Oui, de même que ça se passe "normalement",
mais surtout, ça empêche l'invalidation des caches,
et donc la mise à jour des pages, lors d'une modification d'article ou d'auteur etc
puisqu'ils ne figurent pas dans le tableau.
Est ce que cela invalide tout le cache lorsqu'un message de forum est
publié ?
Oui, avec le spip de base, tous les caches sont toujours invalidés en bloc.
Ce que je "voudrais" : seul le contenu sur lequel le message de forum
est publié est recalculé.
Pour cela, il te faudra le plugin cachelab.
Pour l'instant il propose seulement une API
qu'il te faudra utiliser dans le php des formulaires que tu utilises
pour obtenir le résultat attendu.
Oui, avec le spip de base, tous les caches sont toujours invalidés en
bloc.
>
> Ce que je "voudrais" : seul le contenu sur lequel le message de
> forum
> est publié est recalculé.
Pour cela, il te faudra le plugin cachelab.
Pour l'instant il propose seulement une API
qu'il te faudra utiliser dans le php des formulaires que tu utilises
pour obtenir le résultat attendu.
Merci JL.
Il faudra que je teste à nouveau mémoization (et cachelab).
Je l'avais fait en mars (avec memcached), mais suite à un problème avec
les urls (arbo), je l'ai désactivé : Google s'est mis à crawler un tas
d'urls composées de segments de rubriques ordonnées de façon aléatoire.
Je n'ai aucune idée de l'origine réelle, mais la désactivation de
mémoization et/ou une remise à zéro de la table des urls a corriger le
soucis.