Annullamento della validità della cache di AEM Dispatcher con statfileslevel e gracePeriod
Quando si configura Adobe Experience Manager (AEM) Dispatcher con statfileslevel e gracePeriod, in genere non è necessario cancellare la cache esplicita per le pagine di elenco se l’elenco e il contenuto aggiornato si trovano nello stesso ambito di file .stat. Verificare che l’impostazione statfileslevel sia coperta.
Descrizione description
Sintomi
Il cliente chiede se è necessaria la cancellazione esplicita della cache (tipo di invalidazione INVALIDATE) per l’elenco delle pagine dopo l’aggiornamento del contenuto con il tipo ADD. Con /publishfarm/cache/statfileslevel "2" e /publishfarm/cache/gracePeriod "2", le pagine dell’elenco sembrano essere aggiornate senza di esso.
Passaggi per riprodurre l’errore
- Configurare
/publishfarm/cache/statfileslevel "2"e/publishfarm/cache/gracePeriod "2". - Invalidare un file in
.statcon tipoADD. La data di modifica del file.statviene aggiornata. - Richiedi un file corrispondente a
/invalidate/../type "allow"entro 2 secondi. Risultato:actionhit, cache non modificata. - Richiedilo nuovamente dopo 2 secondi. Risultato:
actionmiss, cache aggiornata.
Causa
ADD aggiorna la marca temporale del file .stat. I file corrispondenti alle regole di allow vengono considerati non validi solo dopo che sono trascorsi gracePeriod da tale data e ora. Quando il contenuto aggiornato e la pagina dell’elenco condividono lo stesso ambito .stat, l’elenco viene invalidato dallo stesso meccanismo, pertanto non è necessario un INVALIDATE separato.
Risoluzione resolution
Per risolvere il problema, segui i passaggi seguenti:
- Comprendere il comportamento di
statfileslevelegracePeriod: quandoinvalidate.cacheviene attivato (ad esempio, pubblicando una pagina), Dispatcher crea o aggiorna il file.statnella configurazione distatfileslevel. - Alla successiva richiesta di una pagina memorizzata in cache, Dispatcher confronta i timestamp del file
.state del file memorizzato in cache. Se il file.statè più recente, la cache viene invalidata e il contenuto viene recuperato da Pubblica. - L’impostazione
gracePeriod(ad esempio, 2 secondi) ritarda l’invalidazione della cache per la durata specificata dopo l’aggiornamento del file.stat. Le richieste all’interno digracePeriodrestituiscono il contenuto nella cache (actionhit). DopogracePeriod, la cache viene invalidata (actionmiss). - Se la configurazione attiva
invalidate.cacheal momento della pubblicazione di una pagina e il contenuto aggiornato e il relativo elenco rientrano nello stesso ambito di file.stat, in genere non è necessario cancellare la cache esplicita per la pagina dell’elenco. L’inserzione verrà invalidata automaticamente dopogracePeriod. - Verificare che l’impostazione
statfileslevelcopra sia il contenuto aggiornato che la pagina dell’elenco nello stesso file.stat. - Monitora i registri per i casi edge in cui
invalidate.cacheviene attivato continuamente, in quanto i tempi di invalidazione della cache potrebbero cambiare. RegolagracePeriodin base alle esigenze.
Verificare che l’annullamento della validità della cache si verifichi come previsto dopo gracePeriod e che non siano necessarie operazioni INVALIDATE esplicite per elencare le pagine nello stesso ambito di file .stat.