Differenza tra le opzioni di cache standard


12

Joomla! hanno 3 modi diversi per la memorizzazione nella cache:

  • "Conservative caching" (nella configurazione globale)
  • "Progressive caching" (nella configurazione globale)
  • plugin "Sistema - Cache"

Ho le seguenti domande:

  • Quali sono le differenze?
  • Quando utilizzo quale opzione?
  • Devo abilitare il plug-in della cache quando ho già attivato l'opzione nella configurazione?
  • Quale modo corretto di configurare il sistema cache predefinito?

Risposte:


5

Oltre alla risposta di Shyam ...

In Global Configuration-> Cache...

  • La memorizzazione conservativa nella cache è una cache generata per ciascuna vista di un componente / modulo
  • La memorizzazione progressiva nella cache è una cache generata per ciascuna vista di un componente / modulo su base individuale per utente

Questa è una cache di visualizzazioni a livello di estensione. Deve essere implementato dallo sviluppatore dell'estensione per avere alcun effetto.

Nota: gli utenti che hanno effettuato l'accesso non vedranno mai il contenuto memorizzato nella cache in questo modo.

È possibile ignorare la memorizzazione nella cache dei singoli moduli se è abilitata la memorizzazione nella cache conservativa disabilitando la memorizzazione nella cache nelle opzioni avanzate del modulo. NON È possibile ignorare la memorizzazione nella cache del modulo in base al modulo se è impostata la "cache progressiva".

Il plug-in Sistema - Cache genera cache di pagina di ogni pagina intera in /cache.

Per la maggior parte degli scenari, è sufficiente abilitare il plug-in Cache di sistema . Se si desidera solo memorizzare nella cache determinati moduli / componenti (che hanno implementato la memorizzazione nella cache), disabilitare il plug-in e abilitare la memorizzazione nella cache conservativa nella configurazione globale. È quindi possibile impostare eccezioni disabilitando la memorizzazione nella cache nelle opzioni avanzate di un modulo.

Si noti che qualsiasi cache è un equilibrio tra tempo e spazio: la cache a pagina intera ridurrà il caricamento del DB e quindi i tempi di caricamento della pagina, ma aumenterà l'utilizzo dello spazio su disco.

Puoi trovare ulteriori analisi e parametri di riferimento del sistema di memorizzazione nella cache qui , nonché i documenti Joomla Cache per gli amministratori e questo eccellente articolo che dettaglia le varie opzioni e avvertenze applicabili.


Ma utilizzo la cache progressiva e rispetta le impostazioni della cache del modulo, quindi penso che dovresti provarlo e correggere la tua risposta.
jackJoe,

Sei sicuro? Ogni sito che ho esaminato Progressive cachingsostituirà qualsiasi impostazione a livello di modulo (in particolare la terza tabella in "Risultati non elaborati " su inmotionhosting.com/support/edu/joomla-25/caching/… ). Proverò a testarlo su un'installazione pulita oggi per verificare in un modo o nell'altro.
codinghands

1
about: "La memorizzazione conservativa nella cache più l'abilitazione del sistema - Il plug-in della cache è sufficiente" - se questo ha un senso reale? perché come hai spiegato: il plugin fa cache per l'intera pagina, quindi (come ho capito) in questo caso Joomla! non eseguire un'estensione e quindi la memorizzazione nella cache conservativa .. o capisco qualcosa di sbagliato?
Fedik,

1
L'ho appena provato e in alcune situazioni funziona e altre no! se includi il modulo in un articolo (es: dalla sua posizione) rispetta l'impostazione no cache, ma in una posizione normale del modulo lo ignora! Giuro che ha funzionato per un normale modulo, ma l'ho appena provato di nuovo e non funziona.
jackJoe,

@Fedik Hai perfettamente ragione, un malinteso da parte mia. Ora ho aggiornato la mia risposta.
codinghands

3
  1. Differenza tra memorizzazione nella cache -

    La memorizzazione conservativa nella cache è il tipo standard di memorizzazione nella cache. Ecco come funziona:

    Un visitatore visita una pagina sul tuo sito Web.

    • Joomla controlla se esiste una versione non scaduta di quella pagina nella sua directory della cache.
    • Se la pagina memorizzata nella cache esiste (e non è scaduta), Joomla la servirà al visitatore
    • in caso contrario, viene creata una versione memorizzata nella cache e tale versione memorizzata nella cache verrà pubblicata per il visitatore e per tutti gli altri visitatori conseguenti, purché (per "esso" intendiamo la pagina) non scaduta.

    Lo scenario sopra è tipico ed è il modo in cui la maggior parte degli sviluppatori implementa la memorizzazione nella cache.

    La memorizzazione progressiva nella cache funziona nel modo seguente:

    • Un visitatore visita una pagina sul tuo sito Web.
    • Joomla verifica se esiste una versione cache di quella pagina per quel visitatore e non è ancora scaduta.
    • Se esiste quella pagina memorizzata nella cache, verrà servita al visitatore, altrimenti Joomla creerà la pagina memorizzata nella cache per quel visitatore specifico e glielo servirà.
    • Se un altro visitatore (che non è mai stato su quella pagina) visita quella pagina, Joomla non pubblicherà la pagina memorizzata nella cache del visitatore precedente, invece, creerà una versione cache di quella pagina appositamente per quell'utente, e quindi lo servirà a lui.

    Come puoi vedere, la memorizzazione progressiva nella cache offre solo un miglioramento delle prestazioni

    • se lo stesso visitatore visita la stessa pagina entro la durata della versione cache della pagina.
    • Nella maggior parte degli scenari, la memorizzazione progressiva nella cache si traduce in un enorme aumento delle prestazioni che è molto peggio della disabilitazione della cache, semplicemente perché per quasi ogni visita, Joomla deve elaborare la richiesta, creare la versione cache della pagina e quindi servire la pagina al visitatore (invece di elaborare la richiesta e pubblicare la pagina nello scenario in cui la cache è disabilitata).
    • Oh, e non dimenticare tutti i file di cache generati da Joomla: puoi solo immaginare quanti di questi file avrai nella tua cartella cache se hai un sito Web di notizie ad alto traffico (che ha molte pagine).

    Ora potresti chiederti, in quali circostanze è utile la memorizzazione progressiva nella cache? Bene, immagina di avere un sito Web di video (simile a YouTube). Vuoi mostrare ad ogni visitatore pagine personalizzate in base alla sua posizione e / o alle impostazioni del browser e / o plugin installati. Quindi, per ogni pagina caricata dai visitatori, utilizzate queste informazioni per generare una versione personalizzata di quella pagina e la memorizzate nella cache. Se il visitatore visita di nuovo quella stessa pagina, Joomla non ha bisogno di ripetere il lavoro per generare la pagina personalizzata.

    Naturalmente, ci sono molti scenari in cui la memorizzazione progressiva nella cache è davvero utile, ma a nostro avviso, la memorizzazione progressiva nella cache dovrebbe essere presa in considerazione solo se il sito Web riceve molti visitatori e se tali visitatori sono per lo più visitatori abituali. L'utilizzo in altri casi provocherà un impatto significativo sulle prestazioni del sito Web. Rif: leggi Joomla Caching in modo approfondito

  2. Si raccomanda conservatore.

  3. Il plug-in della cache fornisce cache di pagina completa quando abilitato.

3
Potresti modificare questa risposta in modo che i blocchi preformattati siano invece blockquotes? Inoltre, si prega di notare la fonte originale di queste informazioni ( itoctopus.com/... e citato in stackoverflow.com/questions/12739297/... ). Inoltre, si consiglia la memorizzazione progressiva nella cache anche se questo è menzionato nell'articolo solo per casi d'uso molto specifici ...?
codinghands

non molto chiaro, hai detto che: "Conservative / Progressive" controlla se esiste una versione cache di quella pagina "e sul plug-in" Il plug-in cache fornisce cache di pagina completa ".. quindi tutte queste opzioni e il plug-in fanno la cache per l'output dell'intera pagina o?
Fedik,

ok, vedo un'altra risposta;)
Fedik

Risposta aggiornata n. 2 modificata in conservativa.
Shyam,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.