7.2.3 Memoria cache

Memoria cache

Con il termine cache in informatica si indica una area di memoria di piccole dimensioni il cui scopo è di velocizzare l'esecuzione dei programmi in quanto al suo interno risiedono temporaneamente un insieme di dati e programmi che si prevede debbano essere utilizzati nell'immediato futuro e che quindi possano essere velocemente recuperati. In alcuni casi è possibile convalidare i dati contenuti nella cache interrogando la memoria principale per verificare se sono ancora sincronizzati e corretti.

I livelli di cache sul sito web di Ateneo

Durante la navigazione, immagini, pagine web ed altre risorse fornite dal server vengono scaricate dal browser e, in alcuni casi, memorizzate in alcune cache intermedie. Per il sito web di Ateneo, sono attivi vari livelli di cache:

  • Contenuto fornito dal server
  • Cache dell'applicazione (plone)
    • riguarda menu e box di navigazione: dura 5 min
  • Cache del server (varnish)
    • cartelle e viste speciali: dura 5 min
  • Cache del browser
    • riguarda pagine, files e notizie (avvisi)
  • Contenuto visualizzato dall'utente

Quindi:

  • i box di navigazione potrebbero richiedere fino a 5 minuti prima di visualizzare le voci modificate
  • le cartelle e le viste speciali vengono aggiornate subito, da editor, ma l'utente anonimo potrebbe aver bisogno di 10 minuti prima di vedere il risultato aggiornato.
  • pagine e notizie normalmente vengono aggiornati subito, tuttavia alcuni problemi di connessione potrebbero indurre il browser ad usare le copie "scadute" in memoria. In questo caso è utile
    • forzare l'aggiornamento con la combinazione di tasti: CTRL-F5, oppure
    • eliminare tutta la cache del browser

Cancellare tutta la cache del browser

La procedura di eliminazione della memoria cache è garantita da ogni browser anche se con procedimenti leggermente differenti:

(Per approfondire: Cache - Wikipedia, Web cache - Wikipedia)

Gestione avanzata della cache 

  • La cache del server (varnish) è la più lunga, ma può essere aggirata usando una URL leggermente diversa per richiedere lo stesso contenuto. Lo stratagemma è quello di aggiungere una query string all'indirizzo web, ad esempio: ?uffauffa:
  • Nota riguardo la gestione della cache su Google Chrome - il seguente elenco è disponibile tenendo premuto il tasto: aggiorna ⟳ quando è attivo l'inspector (F12), anche se le prime due funzioni sono disponibili anche senza, usando le combinazioni di tasti:
    • Ricaricamento normale - F5 (Windows)  - ⌘R (macOS)
      richiede la validazione dei contenuti in cache: se non sono cambiati, la cache viene usata
    • Ricaricamento manuale - CTRL+F5 (Windows) ⇧⌘R (macOS)
      non usa i contenuti in cache ma li scarica nuovamente dal server
    • Svuota la cache e ricaricare manualmente
      se la cache è stata cancellata con il precedente Ricaricamento manuale, i contenuti devono essere scaricati nuovamente dal server. Tuttavia, se la pagina fa qualunque scaricamento successivo via JavaScript che non faceva parte della richiesta iniziale della pagina, allora potrebbe essere ancora usata la cache: se la eliminiamo tutta, siamo sicuri che anche questi dati successivi non provengano dalla cache.