Page cache: cos’è e come funziona
La page cache è un meccanismo di memorizzazione temporanea che conserva una copia di dati già elaborati per restituirli più rapidamente alle richieste successive, sia a livello di sistema operativo — la RAM gestita dal kernel Linux — sia a livello di sito web, dove corrisponde all’HTML già generato da un CMS. In entrambi i casi riduce il tempo di accesso ai dati originali.
In breve
- Cosa risolve: evita di rileggere dati dal disco o di ricostruire una pagina dinamica ad ogni richiesta, accelerando la risposta.
- Quando si applica: ogni volta che un file viene letto o scritto su Linux, oppure quando una pagina generata da un CMS viene richiesta più di una volta.
- Condizioni e limiti: la memoria occupata viene liberata (eviction) quando serve ad altri processi; nel web la durata dipende dalla configurazione del server o del plugin.
- Come verificare: su Linux si controlla con il comando
freeo con strumenti come vmtouch; su un sito si osserva l’header Cache-Control della risposta HTTP. - Cosa fare: se compaiono contenuti obsoleti o rallentamenti, si procede a uno svuotamento mirato della cache coinvolta, non necessariamente di tutte.
- Tempo richiesto: lo svuotamento manuale dura pochi secondi, ma la cache torna a regime solo dopo alcuni nuovi caricamenti.
Cos’è la page cache nel kernel Linux

Nel kernel Linux la page cache è un’area della RAM in cui vengono mappati i contenuti dei file letti o scritti di recente su disco, in modo da evitare operazioni di I/O ripetute verso storage più lenti come HDD o SSD. Un comando come free -m mostra la memoria suddivisa in used, free e buff/cache: quest’ultima voce include proprio la page cache ed è normale che occupi una quota consistente, perché viene liberata automaticamente quando le applicazioni richiedono altra RAM.
Quando un processo richiede un file già presente in cache, il kernel lo serve direttamente dalla memoria senza toccare il disco. Le pagine meno utilizzate di recente vengono rimosse secondo l’algoritmo LRU non appena serve spazio per nuovi dati. Le scritture seguono un percorso simile: i dati modificati vengono marcati come dirty page e restano in cache fino alla sincronizzazione periodica con il disco in background, un meccanismo che rende il sistema più reattivo rispetto a una scrittura sincrona immediata.
Per verificare cosa contiene effettivamente la page cache in un dato momento si usa la system call mincore(), richiamata da strumenti come vmtouch, pcstat o cachestat. Con vmtouch è possibile vedere quante pagine di un file specifico sono residenti in memoria, aggiungerle forzatamente con l’opzione -t oppure rimuoverle con -e. Lo svuotamento completo della page cache, utile solo in fase di test, si ottiene con echo 1 > /proc/sys/vm/drop_caches: un’operazione da evitare in produzione, perché azzera i benefici della cache costringendo il sistema a rileggere tutto dal disco. Un’applicazione può anche escludere volontariamente un file dalla cache con il flag FADV_DONTNEED, utile per dati in streaming che non verranno mai riletti.
Se vuoi misurare l’efficacia della cache, verifica l’hit ratio
Se l’obiettivo è capire quanto la page cache stia realmente riducendo gli accessi al disco, uno strumento come cachestat riporta in tempo reale il rapporto tra letture servite dalla RAM (hit) e letture che hanno dovuto raggiungere il disco (miss): un valore stabilmente sopra il 90% indica che la cache sta funzionando in modo efficiente; valori più bassi segnalano che la memoria disponibile non basta a contenere i dati effettivamente richiesti.
Cos’è la page caching nel web

Nel contesto dei siti web la page caching indica il salvataggio di una versione statica dell’HTML di una pagina che normalmente verrebbe generata dinamicamente da un CMS, da script PHP o da un ambiente di produzione applicativo. Alla prima richiesta il server costruisce la pagina interrogando il database ed eseguendo il codice; una copia pronta viene poi salvata e servita direttamente ai visitatori successivi, azzerando il tempo di elaborazione lato server.
Su un sito costruito con un CMS come WordPress, ogni pagina richiede normalmente l’esecuzione di PHP, il recupero di dati da MySQL e la composizione del tema a ogni visita: un processo che, senza cache, può rendere il sito sensibilmente più lento sotto carico. Un sistema di page cache applicato a questo scenario può ridurre i tempi di caricamento di un fattore compreso tra due e cinque volte rispetto alla generazione dinamica continua, a seconda della complessità della pagina e del traffico simultaneo.
La gestione della scadenza avviene tramite direttive HTTP: l’header Cache-Control indica per quanto tempo un contenuto resta valido, mentre l’header Expires imposta una data di scadenza specifica per tipo di file — ad esempio immagini conservate per un anno, fogli di stile per un mese, con un valore predefinito più breve per tutto il resto. A livello infrastrutturale la stessa logica si estende a strumenti server-side come Varnish, Redis, Memcached o il modulo FastCGI Cache di Nginx, che intercettano le richieste prima che raggiungano l’applicazione.
Se il contenuto cambia spesso: imposta una scadenza breve
- Identifica le pagine che cambiano raramente (es. pagine informative) e assegna loro un TTL lungo.
- Per le pagine con contenuti aggiornati di frequente (es. carrello, risultati di ricerca interna) riduci il TTL o escludile dalla cache statica.
- Configura un meccanismo di invalidazione automatica alla pubblicazione di nuovi contenuti, così da evitare lo svuotamento manuale ripetuto.
Come funziona la page cache
Il principio di funzionamento è identico nelle due accezioni: anziché generare ogni volta una risposta completa, il sistema conserva una copia della risposta più recente e la restituisce direttamente quando una richiesta simile si ripresenta, risparmiando tempo di elaborazione o di accesso al disco. Cambia però il livello a cui questo avviene e il tipo di dato conservato.
| Aspetto | Page cache kernel Linux | Page caching web |
|---|---|---|
| Cosa memorizza | Blocchi di file letti/scritti su disco | HTML renderizzato di una pagina |
| Dove risiede | RAM gestita dal kernel | Disco, RAM o CDN lato server |
| Chi la gestisce | Sistema operativo in automatico | CMS, plugin o configurazione server |
| Criterio di rimozione | Algoritmo LRU quando serve memoria | Scadenza TTL o invalidazione manuale |
| Effetto principale | Riduzione delle operazioni di I/O | Riduzione del carico su script e database |
Nel caso applicativo, il flusso tipico prevede due fasi: alla prima richiesta la pagina viene costruita interrogando il database e viene salvata una copia statica; alle richieste successive, provenienti dallo stesso visitatore o da altri, il server restituisce direttamente la copia salvata, saltando l’esecuzione dello script. Nel caso di sistema, il kernel intercetta ogni operazione di lettura o scrittura su file e mantiene in memoria i blocchi utilizzati più di recente, aggiornando le pagine modificate (dirty) in background senza bloccare il processo chiamante.
Una differenza pratica riguarda la visibilità per l’utente finale: la page cache di sistema è trasparente e non richiede alcuna azione da parte di chi usa le applicazioni, mentre la page caching web può diventare visibile quando una modifica al sito non compare subito, perché il server continua a servire la versione precedente fino alla scadenza o all’invalidazione della cache.
Tipi di cache correlati alla page cache
Attorno alla page cache esistono altre forme di memorizzazione temporanea, distinte per posizione e per tipo di dato conservato, spesso confuse tra loro perché condividono il termine generico “cache”.
- Cache del browser
- Salva sul dispositivo dell’utente elementi statici come immagini, fogli di stile e script, evitando di riscaricarli a ogni visita successiva allo stesso sito.
- Cache DNS
- Conserva localmente l’associazione tra un nome di dominio e il relativo indirizzo IP, evitando di interrogare un server DNS ogni volta che si digita lo stesso indirizzo.
- Cache CDN
- Distribuisce copie dei contenuti statici su server geograficamente vicini all’utente, riducendo la latenza di rete rispetto al server di origine.
- Cache di database
- Conserva il risultato di query ripetute, evitando di rieseguire le stesse interrogazioni sul database a ogni richiesta identica.
Cache Storage API e metodo cache.put()
Nei browser moderni l’interfaccia Cache, parte delle interfacce di programmazione (API) web, fornisce uno spazio di archiviazione persistente per coppie richiesta/risposta in contesti sicuri HTTPS, accessibile sia dalle pagine sia dai service worker. Il metodo cache.put() permette di salvare manualmente una coppia richiesta/risposta all’interno di un oggetto Cache Storage, a differenza del caricamento automatico gestito dal browser per i file statici.
Google cache e come verificarla con un cache checker
La cache di Google, storicamente legata alla funzione “pagina nella cache” dei risultati di ricerca, conserva una copia dell’ultima scansione effettuata dal crawler di Google Search; non va confusa con la page cache lato server, perché riflette ciò che il motore di ricerca ha indicizzato, non ciò che il server sta servendo in quel momento. Un cache checker o un cache viewer sono strumenti che interrogano direttamente il server tramite gli header HTTP della risposta per mostrare se e per quanto tempo una pagina viene conservata in cache, informazione diversa dalla presenza o assenza nell’indice di ricerca.
Dove si trova la cache in Chrome
In Google Chrome i file memorizzati nella cache non sono consultabili come un normale elenco di file dal menu principale: sono visibili tramite gli strumenti per sviluppatori, nella sezione Application, voce Cache Storage, oppure tramite l’indirizzo interno chrome://net-internals nelle versioni meno recenti. La cache vera e propria risiede in una cartella di sistema del profilo utente, non pensata per la consultazione manuale da parte di chi naviga normalmente.
Perché la page cache è importante
La page cache incide direttamente sulla velocità percepita di un sistema o di un sito, con effetti misurabili sia sull’esperienza di chi naviga sia sul carico dell’infrastruttura che eroga il contenuto.
A livello di sistema, una page cache efficiente riduce il numero di accessi al disco, componente tipicamente più lento della RAM anche su SSD: meno operazioni di I/O significano minore latenza per le applicazioni che leggono ripetutamente gli stessi file, come un database o un server web. A livello web, la riduzione del TTFB ottenuta servendo una copia statica anziché rigenerare la pagina incide sui tempi di caricamento complessivi, un fattore che i motori di ricerca considerano nella valutazione della qualità tecnica di un sito, insieme alle metriche note come Core Web Vitals.
Un secondo effetto riguarda la capacità di gestire picchi di traffico: con un caching efficace il server dedica risorse di calcolo solo alle richieste che non trovano corrispondenza in cache, mentre tutte le altre vengono evase dalla copia già pronta. Questo riduce il rischio di rallentamenti o interruzioni quando molti utenti accedono contemporaneamente alle stesse pagine, condizione comune durante campagne di traffico elevato o eventi puntuali.
Quando svuotare la page cache
Lo svuotamento della cache non è un’operazione da eseguire di routine, perché priva temporaneamente il sistema o il sito dei benefici di velocità: va effettuato solo in presenza di condizioni specifiche.
Se un sito mostra contenuti vecchi o rotti dopo una modifica: svuota la cache applicativa
- Verifica che la modifica sia stata effettivamente salvata lato server, controllando la data dell’ultima pubblicazione.
- Svuota la cache del plugin o del pannello di hosting utilizzato per generare la copia statica.
- Ricarica la pagina forzando il bypass della cache del browser (tasto F5 con Ctrl, oppure Ctrl+Shift+R).
Se un sistema Linux sembra avere poca memoria libera: controlla prima il buff/cache
Se un comando come free -m mostra poca memoria “free” ma un valore alto in “buff/cache”, non si tratta di un problema: quella quota è occupata dalla page cache e viene rilasciata automaticamente quando un’applicazione ne ha bisogno, senza alcun intervento manuale necessario.
Se un’applicazione si blocca o mostra errori: svuota la cache dell’app, non l’intero dispositivo
Quando un’app specifica si comporta in modo anomalo, conservando dati temporanei corrotti, la soluzione mirata è svuotare la cache di quella singola applicazione piuttosto che intervenire sull’intero sistema, operazione più invasiva e spesso non necessaria per risolvere il problema segnalato.
Come svuotare la cache nei browser (PC e Mac)
Sui principali browser desktop la cancellazione dei dati di navigazione segue un percorso simile, con una scorciatoia da tastiera comune a Chrome, Firefox ed Edge.
- Premi la combinazione di tasti Ctrl+Shift+Canc su Windows, oppure Cmd+Shift+Canc su Mac, per aprire direttamente la schermata di pulizia dati.
- Seleziona un intervallo di tempo, ad esempio “Ultima ora” o “Sempre”, in base a quanti dati si desidera rimuovere.
- Scegli la voce relativa a immagini e file memorizzati nella cache, lasciando eventualmente deselezionate le voci relative a password o cronologia se non devono essere cancellate.
- Conferma l’eliminazione e ricarica la pagina interessata per verificare che il contenuto aggiornato venga mostrato correttamente.
In alternativa, su Chrome è possibile raggiungere la stessa funzione dal menu con i tre puntini in alto a destra, selezionando Impostazioni, poi Privacy e sicurezza e infine la voce dedicata all’eliminazione dei dati di navigazione, con la possibilità di filtrare solo le immagini e i file in cache lasciando intatti i cookie di accesso.
Come svuotare la cache su smartphone (Android e iOS)
Su smartphone la cancellazione della cache può riguardare il browser mobile oppure una singola applicazione installata, con percorsi distinti tra i due sistemi operativi.
Su dispositivi Android
- Apri le Impostazioni del telefono e seleziona la voce App (o Applicazioni).
- Individua l’applicazione specifica che rallenta o mostra comportamenti anomali, ad esempio un’app di messaggistica o social.
- Accedi a Spazio di archiviazione (o Memoria) e tocca Svuota cache, lasciando intatta l’opzione “Cancella dati” se si vuole mantenere l’accesso già effettuato.
Per il browser Chrome su Android, la procedura passa invece dal menu con i tre puntini, voce Elimina dati di navigazione, con la possibilità di selezionare solo le immagini e i file memorizzati nella cache.
Su iPhone e iOS
Su iPhone non esiste un comando unico “svuota cache”: per Safari la cancellazione avviene da Impostazioni, voce Safari, Cancella dati siti web e cronologia; per le singole app, quando è prevista l’opzione, si trova all’interno delle impostazioni dell’app stessa oppure disinstallando e reinstallando l’applicazione, operazione che rimuove anche i dati temporanei accumulati.
Come svuotare la cache su Windows
Su Windows la pulizia riguarda tipicamente i file temporanei di sistema e la cache DNS, due aree distinte con procedure diverse.
- Premi il tasto Windows + R per aprire la finestra Esegui.
- Digita
%temp%e premi Invio per aprire la cartella dei file temporanei. - Seleziona tutto il contenuto della cartella ed elimina i file che il sistema permette di rimuovere, ignorando quelli bloccati perché in uso.
Per la cache DNS, che conserva localmente gli indirizzi IP già risolti, l’operazione richiede il prompt dei comandi eseguito come amministratore e il comando ipconfig /flushdns, utile quando un sito ha cambiato server ma il browser continua a raggiungere il vecchio indirizzo. Per Microsoft Edge, la cancellazione della cache del browser segue invece il percorso Impostazioni, Privacy, ricerca e servizi, voce Cancella dati di navigazione.
Errori frequenti e casi limite legati alla cache
Alcune situazioni ricorrenti generano confusione tra concetti simili ma distinti, con conseguenze diverse a seconda di cosa viene effettivamente cancellato.
Cookie e cache non sono la stessa cosa
I cookie memorizzano informazioni legate alla sessione e alle preferenze dell’utente, come lo stato di accesso a un sito; la cache memorizza invece file e risposte per velocizzare il caricamento. Cancellare solo la cache lascia intatti gli accessi effettuati, mentre cancellare i cookie disconnette l’utente dai siti in cui era autenticato.
Svuotare la cache non equivale a cancellare i dati di un’app
Svuotare la cache rimuove solo i file temporanei ricostruibili automaticamente alla prossima apertura dell’app; cancellare i dati rimuove anche impostazioni, accessi salvati e informazioni che l’app non è in grado di ricreare da sola, con la necessità di riconfigurarla da zero.
Se la cache non si svuota: verifica processi attivi o permessi insufficienti
Quando l’opzione di svuotamento non produce effetti visibili, le cause più comuni sono un’applicazione ancora in esecuzione che sta riscrivendo gli stessi file, oppure permessi di sistema insufficienti per modificare la cartella coinvolta; chiudere completamente l’app o il browser prima di ripetere l’operazione risolve la maggior parte di questi casi.
Domande frequenti
Che cos’è la cache di un sito web?
È una copia statica dell’HTML di una pagina, generata una prima volta dal server e poi riutilizzata per le visite successive, evitando di rieseguire script e query al database ad ogni richiesta.
Qual è il tasto per cancellare la cache?
Nei browser desktop la combinazione Ctrl+Shift+Canc (Cmd+Shift+Canc su Mac) apre direttamente la schermata per eliminare cache e altri dati di navigazione, selezionabili singolarmente prima della conferma.
Cosa succede se si pulisce la cache?
Il browser o il sistema perde temporaneamente i file già scaricati e dovrà riscaricarli alla prossima visita, con un primo caricamento leggermente più lento ma con la garanzia di vedere la versione aggiornata dei contenuti.
Qual è la differenza tra svuotare la cache e cancellare i dati?
Svuotare la cache rimuove solo i file temporanei ricostruibili automaticamente; cancellare i dati elimina anche impostazioni e accessi salvati da un’app, rendendo necessaria una nuova configurazione.
I cookie e la cache sono la stessa cosa?
No: i cookie conservano informazioni di sessione come lo stato di accesso, mentre la cache conserva file e risposte per velocizzare il caricamento; si possono cancellare separatamente.
Perché non riesco a cancellare la cache?
Spesso dipende da un’applicazione o un browser ancora in esecuzione che sta riscrivendo gli stessi file, oppure da permessi di sistema insufficienti: chiudere il programma prima di riprovare risolve la maggior parte dei casi.
Come pulire la cache di Google?
La cache conservata dal motore di ricerca non è cancellabile dall’utente finale: riflette l’ultima scansione effettuata dal crawler e si aggiorna automaticamente alla successiva scansione della pagina.