Cache: cos’è e a cosa serve Siti, app e dispositivi funzionano anche grazie a questo meccanismo, andiamo a scoprirlo

<span class="entry-title-primary">Cache: cos’è e a cosa serve</span> <span class="entry-subtitle">Siti, app e dispositivi funzionano anche grazie a questo meccanismo, andiamo a scoprirlo</span>

La cache in informatica rappresenta una memoria di dimensioni molto piccole ma anche molto veloce: essa utilizzata per velocizzare alcuni tipi di operazioni, specialmente quelle eseguite molto di frequente; in molti casi, poi, la memoria cache viene utilizzata e sfruttata dai software a livello hardware, in modo da velocizzare le operazioni e fare in modo che i dati più frequentemente richiesti siano disponibili, oppure sia disponibili da subito in forma pre-calcolata, nel brevissimo periodo. Ecco cosa significa cache, in breve:

La cache è una parte di memoria del computer, di solito molto veloce e di piccole dimensioni, utilizzata per velocizzare le operazioni più frequenti compiute dal dispositivo. Per fare un esempio pratico, è come se invece di fare sempre gli stessi calcoli da zero con una calcolatrice, li facessimo solo la prima volta e poi prendessimo nota: quando ci servirà ancora il risultato di quel calcolo, ce lo avremo già appuntato, e basterà riprenderlo e ricopiarlo.

La cache è molto importante per garantire buone prestazioni in ambito hardware e software, e velocizzare operazioni che potrebbero, se la cache non ci fosse, richiedere molto tempo ad essere completate. Quindi la cache va a vantaggio dell’efficenza dei programmi e dei software in generale, con varianti diverse a seconda del contesto: cache del browser, del computer e così via.

In generale: cosa è la cache?

La cache in informatica rappresenta una memoria molto piccola ed altrettanto veloce utilizzata per velocizzare determinati tipologie di operazioni, specialmente quelle eseguite molto di frequente; in molti casi, poi, la memoria cache viene utilizzata e sfruttata dai software a livello hardware, in modo da velocizzare le operazioni e fare in modo che i dati più frequentemente richiesti siano disponibili, oppure sia disponibili da subito in forma pre-calcolata, nel brevissimo periodo.

Il senso della cache è quello di salvare un risultato che sia, ad esempio, molto lungo da ottenere: pensiamo ad esempio ad una pagina web che deve essere messa in piedi da un server, e che abbia un tempo di elaborazione (waterfall) molto lungo: in questo caso calcolare ogni volta costa tempo e risorse, per cui la cache viene salvata, internamente o esternamente al sistema, per risparmiare tempo. Tecnicamente parlando, quando entra in gioco la cache sono possibili due casi:

  • cache hit, che significa che il dato è presente in cache e non deve essere ricalcolato
  • cache miss, che invece vuol dire che il dato non è più presente in cache, ad esempio perchè è trascorso troppo tempo e la cache è scaduta.

Esistono vari tipi di cache, in base al contesto ed all’uso, sempre in ambito informatico – ed andremo ora a vederli tutti.

La cache di Android / Windows Phone / iOS

Ognuno tra i sistemi più comunemente utilizzati sfrutta a modo proprio meccanismi di cache: Android, ad esempio, dedica ad ogni app che fa girare uno spazio di cache riservata, per cui ognuna delle app dispone di un proprio spazio riservato che può sfruttare per velocizzare determinate operazioni.  Ovviamente esistono meccanismi analoghi anche nei sistemi Windows Phone ed in quelli Apple.

La cache degli smartphon serve, in genere, a garantire prestazioni più veloci al sistema e ridurre i tempi di lag ed i rallentamenti del sistema operativo

DNS cache

La cache del DNS garantisce il funzionamento veloce ed efficente del DNS, il sistema distribuito per consentire al web di funzionare ed associare, mediante opportuni passaggi, qualsiasi indirizzo internet ad una risorsa fisica ben precisa (un server fisico o virtuale). Grazie alla cache del DNS, il carico di lavoro dei siti viene smaltito e possono, pertanto, funzionare più velocemente.

La cache di Google / web cache

Il motore di ricerca Google, ad esempio, dispone di una propria cache interna: questo significa che memorizza una parte dei contenuti delle pagine che va a scansionare, in modo da poterla utilizzare senza sovraccaricare di richieste i siti ed eventualmente rallentarli o bloccarli. La cache di Google, pertanto, viene messa a disposizione come una copia dei contenuti della pagina web che ci interessa, anche se non sempre disponiamo di una copia recente e, soprattutto, dopo un po’ di tempo i contenuti della cache vengono cancellati.

In generale, poi, per vedere il contenuto della cache di Google basta cercare qualcosa su Google, andare col mouse sul triangolino verso il basso vicino ad un risultato di ricerca, cliccarci sopra e selezionare Copia Cache. Un esempio viene mostrato nella seguente screenshot:

mentre di seguito possiamo vedere un esempio di cache di Google tratto dalla home page del nostro sito. Google ha infatti archiviato il contenuto della pagina, che quindi possiamo vedere in:

  • versione completa (con CSS, JS, HTML);
  • versione solo testo (senza CSS, JS e HTML, quindi solo la parte testuale, il che è utile per recuperare i contenuti di una pagina che abbiamo cancellato, e di cui ci manca un backup, ad esempio);
  • versione sorgente (in HTML puro)

Un modo alternativo per vedere la cache di Google di una qualsiasi pagina, ad esempio trovalost.it/cache, è quello di sfruttare l’operatore cache:, il che significa digitare nella barra del proprio browser

cache:

seguito dall’URL della pagina che intendiamo recuperare (cliccandoci vedrete la cache di questa pagina in una nuova finestra):

cache:https://trovalost.it/cache

Può essere utile, infine, sapere anche questo: per vedere la cache di qualsiasi risultato di ricerca in modo semplice si possono sfruttare servizi come:

http://www.cachedpages.com/

che permette di cercare una pagina anche all’interno di web.archive.org, l’archivio di pagine web più grande e famoso al mondo (all’interno del quale, pero’, non tutti i siti sono per forza indicizzati).

La cache del browser

A livello di browser la cache viene utilizzata per dare l’impressione all’utente di navigare più velocemente, e per fare in modo di limitare le richieste HTTP che vengano rivolte al server (nello specifico, precaricando e/o memorizzando le richieste più frequenti nel browser stesso). In questa situazione sarà associata una durata alla cache (tempo di scadenza), in modo da essere massimamente efficiente per tutti gli utenti, superata tale “data di scadenza” (EXPIRE) i dati saranno calcolati una nuova singola volta, per poi essere disponibili nella cache per tutto il periodo successivo. Per maggiori informazioni in merito si veda l’articolo su come impostare la cache del browser sul proprio sito.

Page cache

In genere fa riferimento alla parte di RAM o memoria che il sistema operativo usa per copiare dati dall’hard disk, e potervi accedere più rapidamente nel seguito. Questo aiuta a migliorare le prestazioni del sistema in modo considerevole, soprattutto in termini di velocità ed efficenza. Quando lo spazio finisce, la page cache più datata viene progressivamente sovrascritta da quella più recente.

La cache dei CMS

In senso lato, molti CMS come WordPress dispongono di un proprio sistema di cache, il quale può operare più livelli uno dei più diffusi ad esempio quello dei Transient, che permette di attivare una cache livello di database gli accessi in lettura alle zone di database più frequentemente accedute, riducendo così il tempo di caricamento della pagina in modo considerevole. In questi casi alla cache viene associata – come spesso avviene anche in altri scenari – una durata massima, che può essere relativa ad un giorno, a poche ore, ad una settimana e così via. In generale sono i linguaggi stessi a disporre di un meccanismo di cache a vari livelli, anche se poi a livello pratico si tende a sfruttare quella dei framework, dei server, oppure quella messa a disposizione da una combinazione dei precedenti.

Perchè svuotare la cache: a che serve?

Quando cancelliamo la cache, di fatto, quello che succede è che viene resettata l’area di memoria contenente i dati pre-calcolati, per cui l’app o il server sarà costretto a ricalcolarli e a riempirli con dati freschi. Questo non vuol dire che i dati vengano cancellati a livello globale o permanente, ovviamente, a meno che l’app o il sito non siano stati progettati o implementati in modo carente o difettoso. Cancellare la cache, pertanto, è fondamentale per aggiornare correttamente le operazioni di app, siti o simili, e questo ovviamente vale in generale per qualsiasi livello di applicazioni o sito web disponibile.

Foto di Johannes Plenio da Pixabay

Leggi pure questi...

0 voti


Informazioni sull'autore

Salvatore Capolupo

Consulente SEO, ingegnere informatico e fondatore di Trovalost.it, Pagare.online, Lipercubo.it e tanti altri. Di solito passo inosservato e non ne approfitto.
Leggi pure questi...