Cache – cos’è dove si trova e a cosa serve?

cache

Quando si parla di velocizzare un dispositivo, si parla di Cache prima di qualsia altra cosa, ti viene detto:

Devi ottimizzare la cache!

Quando devi aggiornare dei dati sul telefono ti dicono, Svuota la Cache!

Ormai è entrata nel nostro linguaggio comune ma il 90% delle volte la nominiamo senza sapere di che parliamo.

Quindi, una volta per tutte. Vediamo cos’è, dove si trova, a cosa serve, e perché è importante…

Indice

 

La Cache!

Che cos’è una cache?

La che è un processo di memorizzazione di risultati computazionali recenti che possono essere riutilizzati per azioni frequenti.
È quindi una strategia per rendere il software più veloce.
Una cache, pronunciata KESH, può essere una parte hardware o software utilizzata per archiviare qualcosa, di solito dati, temporaneamente in un ambiente informatico allo scopo di renderli rapidamente richiamabili.

Si tratta di una piccola quantità di memoria più veloce e più costosa utilizzata per migliorare le prestazioni dei dati a cui si accede di recente o di frequente.

Dove si trova la Cache?

I dati memorizzati nella cache vengono archiviati temporaneamente in un supporto di archiviazione(ovvero una piccola memoria) localizzata nel client(ad esempio il browser di un utente) e separato dalla memoria principale.

La cache è comunemente utilizzata dall’unità di elaborazione centrale (CPU o Processore di un pc o server), dalle applicazioni, dai browser Web e dai sistemi operativi.

La cache viene utilizzata perché l’archiviazione di massa o principale non riesce a tenere il passo con le richieste dei client(Cioè non riesce a dare a tutti una stessa risposta velocemente perché deve sforzarsi troppo). La cache riduce i tempi di accesso ai dati, riduce la latenza(ovvero i tempi di caricamento e fornitura delle risposte) e migliora l’input/output (I/O). Poiché quasi tutti i carichi di lavoro delle applicazioni dipendono dalle operazioni di I/O, il processo di memorizzazione nella cache migliora le prestazioni delle applicazioni.

Facciamo un esempio, se stai facendo una ricerca per lavoro e hai bisogno di consultare un libro che si trova in Biblioteca, dove hai tante informazioni a disposizione.
Potresti andare in Biblioteca ogni volta a consultare quel libro quando hai bisogno, ma se hai bisogno di consultare lo stesso libro spesso magari meglio portarlo a casa e metterlo sulla scrivania per averlo vicino e accedervi velocemente.
Ed ecco che nell’esempio la Cache è proprio la nostra scrivania. Che ci permette di accedere ai dati velocemente!


Come funziona il Web

Per comprendere la  cache, abbiamo bisogno di un rapido ripasso su come funziona il Web.

Un ottimo punto di partenza è il tuo sito Web e il server di origine.

file script, css e pagine html, i componenti di un sito web

Quindi, cos’è è il tuo sito Web?

Beh, è ​​una raccolta di pagine Web raggruppate insieme.

Puoi anche considerarlo come una raccolta di file: un documento HTML, immagini, video, file CSS e JavaScript.

server hosting e sito-web

Per consentire alle persone di accedere al tuo sito Web, questo deve essere ospitato su una macchina virtuale o fisica connessa al Web.

Quella macchina è il tuo server di origine (Hosting Web). Questo server è in genere uno dei tanti altri server forniti dalla tua società di hosting.

Per accedere al tuo sito web, i visitatori utilizzano i loro browser (in questo caso chiamati client), che comunicano con il tuo server tramite richieste e risposte HTTP.

richieste dall'utente verso il tuo server e risposte http

In poche parole, il tuo browser esegue una ricerca DNS che traduce il nome di dominio (ad esempio, miosito.it) in un indirizzo IP (ad esempio, 115.47.29.189). Una volta che il browser trova l’indirizzo del server (dove risiede il sito), invia una richiesta HTTP chiedendo al server di inviare una copia del sito web.

Come funziona la cache?

Quando un client cache(il browser di un utente) tenta di accedere ai dati, controlla prima la cache. Se i dati vengono trovati lì, si parla di hit cache. La percentuale di tentativi che si traducono in una hit della cache è chiamata percentuale o rapporto di hit della cache.

I dati richiesti che non vengono trovati nella cache, indicati come cache miss, vengono estratti dalla memoria principale e copiati nella cache. Il modo in cui ciò avviene e quali dati vengono espulsi dalla cache per fare spazio ai nuovi dati dipende dall’algoritmo di memorizzazione nella cache, dai protocolli della cache e dalle politiche di sistema utilizzate.

Algoritmo di Cache
Un algoritmo di cache è un elenco dettagliato d’istruzioni che indica quali elementi devono essere scartati in un computer…

Perché la cache è importante?

La cache è importante per diversi motivi:

      • L’uso della cache riduce la latenza per i dati attivi. Ciò si traduce in prestazioni più elevate per un sistema o un’applicazione.
      • Devia I/O verso la cache, riducendo le operazioni di I/O sullo storage esterno e livelli inferiori di storage area network
      • I dati possono rimanere permanentemente nello storage tradizionale o in array di storage esterni. Questo significa che mantiene la coerenza e l’integrità dei dati utilizzando funzionalità, come snapshot e replica, fornite dallo storage o dall’array(disco rigido).
      • Flash viene utilizzato solo per la parte del carico di lavoro che beneficerà di una latenza inferiore. Ciò si traduce in un uso conveniente di uno storage(spazio di archiviazione) più costoso.
      • La memoria cache è inclusa nella CPU o incorporata in un chip sulla scheda di sistema. Nelle macchine più recenti, l’unico modo per aumentare la memoria cache è aggiornare la scheda di sistema e la CPU alla generazione più recente. Le schede di sistema meno recenti possono avere slot vuoti che possono essere utilizzati per aumentare la memoria cache.

Come viene utilizzata la cache?


Le cache vengono utilizzate per archiviare file temporanei, come abbiamo detto, utilizzando componenti hardware e software.

Un esempio di cache hardware è la cache della CPU(processore). Questo è un piccolo pezzo di memoria sul processore del computer utilizzato per memorizzare le istruzioni di base di un computer che sono state utilizzate di recente o sono utilizzate di frequente.

Molte applicazioni e software hanno una propria cache. Questo tipo di cache memorizza temporaneamente dati, file o istruzioni relativi alle app per un rapido recupero.

I browser Web sono un buon esempio di memorizzazione nella cache delle applicazioni. Come accennato in precedenza, i browser dispongono di una propria cache che memorizza le informazioni dalle sessioni di navigazione precedenti da utilizzare nelle sessioni future. Un utente che desidera rivedere un video di YouTube può caricarlo più velocemente perché il browser vi accede dalla cache in cui è stato salvato dalla sessione precedente.

Altri tipi di software che utilizzano le cache includono quanto segue:

      • Sistemi operativi, in cui sono archiviate istruzioni e file di uso comune;
      • Reti di distribuzione dei contenuti (CDN), in cui le informazioni vengono memorizzate nella cache sul lato server per caricare i siti Web più velocemente;
      • Sistemi di nomi di dominio, dove le cache possono essere utilizzate per memorizzare informazioni usate per convertire i nomi di dominio in indirizzi di protocollo Internet(Indirizzi IP); e
      • Database, dove possono ridurre la latenza nelle query del database.
SCHEMA FUNZIONAMENTO CACHE

Leggi anche: Come trasferire un dominio

Quali sono i vantaggi della cache?


Ci sono diversi vantaggi della memorizzazione cache, inclusi i seguenti:

      • Prestazioni. L’archiviazione dei dati in una cache consente a un computer di funzionare più velocemente. Ad esempio, una cache del browser che archivia i file delle sessioni di navigazione precedenti velocizza l’accesso alle sessioni di follow-up. Una cache del database velocizza il recupero dei dati che altrimenti richiederebbero un bel po’ di tempo e risorse per il download.
      • Lavoro offline. Le cache consentono alle applicazioni di funzionare anche senza una connessione Internet. La cache dell’applicazione fornisce un rapido accesso ai dati a cui è stato effettuato l’accesso di recente o utilizzati di frequente. Tuttavia, la cache potrebbe non fornire l’accesso a tutte le funzioni dell’applicazione.
      • L’efficienza delle risorse. Oltre a velocità e flessibilità, la memorizzazione nella cache aiuta i dispositivi fisici a risparmiare risorse. Ad esempio, l’accesso rapido alla cache consente di risparmiare la carica della batteria.

Con una cache attiva prima di tutto il tuo server non deve gestire tutte le richieste HTTP.
La maggior parte delle richieste non raggiungerà nemmeno il server di origine del tuo sito web. Ciò riduce il carico e erisparmai al Cpu e e RAM  dal sovraccarico.

In secondo luogo, i visitatori abituali non hanno bisogno di scaricare di nuovo la stessa risorsa ogni volta.

Una tonnellata di risorse del tuo sito Web può essere memorizzata nella cache per lunghi periodi di tempo, ad esempio:

      • Loghi;
      • Immagini di navigazione;
      • Contenuto scaricabile;
      • File multimediali.
      • Una volta memorizzati nella cache, non devono essere scaricati di nuovo ogni volta.

Naturalmente, ci sono alcuni elementi che dovresti evitare di memorizzare nella cache:

      • JavaScript e CSS modificati di frequente;
      • Risorse contenenti dati personali (numeri di telefono, informazioni bancarie, ecc.);
      • Contenuto mostrato agli utenti registrati;
      • Pagine del carrello.

Anche con queste eccezioni, ci sono ancora molte risorse che sono perfettamente adatte alla memorizzazione nella cache.

In terzo luogo, le cache Web esistono in tutto il mondo.

Puoi salvare copie del tuo sito Web in posizioni vicine ai tuoi utenti. In questo modo, i dati non devono viaggiare in tutto il mondo. In sostanza, questo è ciò che fanno i provider CDN.

Cosa vuol dire svuotare la cache?

e con quale frequenza dovrebbe essere cancellata la cache?

Quando “svuoti la cache”, stai dicendo al tuo browser web di eliminare i file temporanei che ha archiviato nel processo di visualizzazione dei siti web che hai visitato. Svuotando la cache elimini quei file temporanei e questo comporta che accadano alcune cose. Vediamole assieme.

Cosa succede se si cancellano i dati nella cache?

Quando svuoti la cache del tuo browser web, in genere accade questo:

  • Il tuo browser dovrà scaricare di nuovo le versioni “nuove” delle pagine dei siti web
    Come spiegato sopra: una cache è una raccolta di file temporanei sul tuo dispositivo, archiviati per i siti web che visiti.
  • Svuotando la cache rimuoverai tutte le copie temporanee di un sito web e dei suoi file e la prossima volta che visiterai il sito, sarà scaricato di nuovo (e si spera senza problemi).
  • Recuperi un po’ di spazio su disco.
    La tua cache è archiviata sul tuo computer o telefono in una directory temporanea: questi file occupano un po’ di spazio sul tuo disco, quindi cancellando la cache stai eliminando quei file temporanei che liberano un po’ di spazio sul tuo dispositivo.
  • Le vecchie cache possono contenere informazioni e file obsoleti, causando il mancato caricamento o il caricamento errato delle pagine Web. Cancellarli può eliminare le informazioni obsolete.
  • Le cache del browser contengono anche informazioni personali salvate, come le password. Cancellarli può proteggere l’utente.
  • La maggior parte delle cache nei browser possono essere cancellate passando dalle impostazioni.

Una cache dovrebbe essere svuotata periodicamente, ma non quotidianamente. Svuotare la cache troppo spesso non è un buon uso delle risorse a causa di questi problemi:

      • l’utente perde il vantaggio dell’accesso rapido ai file;
      • le cache cancellano alcuni file da sole e non necessitano di questo tipo di manutenzione;
      • il computer memorizzerà nella cache i nuovi file e riempirà nuovamente lo spazio comunque.

Cos’è la Cache di un sito web?

La memorizzazione nella cache del sito Web è una delle tecnologie più vantaggiose disponibili per un sito web di successo. In breve, rende i siti Web estremamente veloci, il che porta a migliori punteggi SEO e Pagespeed e maggiore soddisfazione degli utenti, per non parlare delle migliori conversioni e quindi di un aumento delle entrate se vendi prodotti o servizi online.

Ora che sappiamo cos’è la cache parliamo della memorizzazione nella cache del sito Web, spiegando di cosa si tratta, e come implementarla con WordPress.

Leggi anche: Il confronto dei migliori WP Plugin Cache

Tipi di cache del sito web


In generale, ci sono due tipi di cache: server e browser. La memorizzazione nella cache del browser viene eseguita sul lato client (utente), mentre la memorizzazione nella cache del server viene (non sorprendentemente) eseguita sul server. Diamo un’occhiata alle differenze tra i due.

CACHING DEL BROWSER


Quando visiti un sito web, non hai solo bisogno di recuperare il contenuto della pagina che stai vedendo, hai anche bisogno di un sacco di risorse come file Javascript, fogli di stile, caratteri e così via, che il tuo browser scarica in aggiunta a il contenuto della pagina.

La memorizzazione nella cache del browser consente al browser di archiviare questi file per un po’, quindi non è necessario recuperarli ogni volta che visiti il ​​sito.

La prima volta che visiti questo sito (sitoWP.it), ad esempio, riceverai un sacco di risorse che il tuo browser memorizzerà immediatamente nella cache. Questo primo richiederà probabilmente alcuni secondi per il download completo, ma la prossima volta che visiterai noterai una significativa diminuzione del tempo di caricamento (fino a un secondo o più, in effetti).

CACHING DEL SERVER


Ho già parlato dei meccanismi alla base della memorizzazione nella cache del server: invece di elaborare ogni richiesta, il server prende i risultati di queste richieste e li archivia. Quindi serve invece i risultati salvati, rendendo tutto molto più veloce.

Potresti aver incontrato i termini “cache degli oggetti” e “cache pagina intera”. Questi sono entrambi metodi di memorizzazione nella cache del server: la cache a pagina intera è ciò di cui abbiamo parlato finora.

 

Le cache degli oggetti memorizzano solo bit e parti di dati, invece di una pagina intera. Ciò può essere utile all’interno del codice e durante la memorizzazione del risultato di operazioni complesse come la generazione di un menu di navigazione.

 

Attenzione: se quando carichi il tuo sito web vedi un Errore 500 o un errore 502, questo significa che il tuo server ha un problema. Per risolvere questo problema leggi Errore 500 o Errore 502

Come funziona il caching web

L’essenza del caching web è questa:

Memorizzi una copia delle risorse del tuo sito web in un posto diverso chiamato cache web.

Le cache web sono uno dei tanti intermediari sul web. Il loro compito è quello di stare tra il server di origine e l’utente e salvare le risposte HTTP: documenti HTML, immagini, file CSS, ecc.

Queste risposte salvate sono chiamate rappresentazioni poiché rappresentano solo il tuo sito web originale in un momento specifico.

Con la memorizzazione nella cache, solo la prima richiesta viene inviata al server. Tutte le altre richieste per le stesse risorse vengono intercettate e gestite dalla cache Web condivisa.

Con la memorizzazione nella cache, solo la prima richiesta viene inviata al server. Tutte le altre richieste per le stesse risorse vengono intercettate e gestite dalla cache Web condivisa.

Le cache web possono tracciare le richieste per queste risorse e servirle ai client.

In questo modo, la richiesta non deve arrivare fino al server di origine.

 

Quando la richiesta viene recuperata dalla cache, si verifica un cache hit.

Al contrario, se la cache non riesce a soddisfare la richiesta, si verifica un cache miss.

Nella maggior parte dei casi, si cerca di avere un elevato tasso di cache hit, ovvero la maggior parte delle richieste HTTP vengono servite correttamente dalla cache.

Quindi, in che modo la memorizzazione nella cache risolve i problemi di cui abbiamo discusso sopra?

 

Altri esempi di cache

Server Web

I server Web che creano pagine dinamiche possono memorizzarle nella cache per alcuni minuti in modo che non debbano essere generate per ogni visualizzazione di pagina. Le pagine possono essere memorizzate nella cache in diverse regioni geografiche per soddisfare rapidamente le richieste.

Calcoli

Un motore grafico 3D visualizza una scena in un gioco come una stanza. Memorizza nella cache elementi della scena come le proprietà di luminosità degli oggetti nella stanza.

Database

È comune che i database memorizzino nella cache i risultati delle query recenti.

Sistemi operativi

Un sistema operativo memorizza nella cache oggetti visualizzati di recente come file, cartelle e miniature multimediali

Memorizzazione cache in WordPress


Ci sono tre cose che devi sapere sulla memorizzazione nella cache in WordPress:

      • scrivere codice efficiente,
      • utilizzare plug-in di memorizzazione nella cache e
      • utilizzare la cache integrata del tuo hosting WordPress.

UTILIZZO DEI PLUGIN DI CACHING DI WORDPRESS

La regola più importante di tutte, che non possiamo non sottolineare, è: mai, mai, mai (mai) utilizzare più di un plug-in di memorizzazione nella cache. Questa pratica non renderà il tuo sito più veloce; probabilmente renderà il tuo sito molto più lento e lo farà cadere nel processo di caricamento.

Utilizzare sempre un singolo plug-in di memorizzazione nella cache. Se configurato correttamente, ti aiuterà a velocizzare parecchio il tuo sito. I migliori plugin per la memorizzazione nella cache sono:

      • WP Rocket,
      • W3 Total Cache
      • WP Super Cache,
      • Lite Speed.

CACHE DEL TUO SPAZIO HOSTING


Questo si applica ai siti Web che funzionano su ambienti di hosting WordPress. Consigliamo vivamente i nostri Hosting WP-Hosting.it ma anche WPEngine, Kinsta, hanno eccellenti meccanismi di memorizzazione nella cache (e altri servizi) che li rendono utili.

 

I sistemi di memorizzazione nella cache utilizzati da queste società di hosting sono eseguiti a un livello molto più basso rispetto ai plugin di WordPress, il che significa che sono molto più efficaci. Inoltre, sono anche ottimizzati specificamente per funzionare con WordPress e l’ambiente di hosting utilizzato, il che aumenta ulteriormente la loro utilità.

Se stai utilizzando un host WordPress gestito, ti consiglio di non utilizzare alcun plug-in di memorizzazione nella cache. In effetti, molti di questi host non consentiranno nemmeno l’uso di determinati plug-in di memorizzazione nella cache a causa del fatto che probabilmente interferiranno con i sistemi di memorizzazione nella cache specifici che stanno già girando.

Conclusione

La memorizzazione nella cache è una tecnologia che aumenta la velocità del tuo sito Web senza sacrificare nulla nel processo. Se utilizzato correttamente, non solo si tradurrà in tempi di caricamento significativamente più rapidi, ma ridurrà anche il carico sul server.

Se non stai già memorizzando nella cache le tue pagine web, fallo! Se hai bisogno di una consulenza Contattaci subito!