Cache: definizione e tutti gli ambiti in cui si usa il caching

Gli ambiti in cui si usa la cache, dall'hardware al web, sono stati raccolti in un unico albero seguendo le classificazioni di Wikipedia, MDN e della documentazione ufficiale di WordPress. CPU, sistema operativo, database e browser usano tutti lo stesso nome, quindi ciò che viene cancellato quando svuoti la cache dipende dal livello.
La cache conserva temporaneamente i dati usati spesso o che serviranno a breve in una memoria più veloce dell'originale e, quando arriva la stessa richiesta, risponde con quella copia invece che con l'originale.
L'articolo di Wikipedia in inglese Cache (computing) divide le cache in cache hardware, come quelle di CPU e GPU, e cache software, come quelle di disco, web, DNS e database. L'albero qui sotto raggruppa questa classificazione in base a dove si trova ogni cache, e le cache web seguono la distinzione di MDN tra private cache e shared cache.
Nel simulatore dell'articolo Cache del sito web & cache interna del server: come funziona la cache di WordPress puoi vedere in che ordine la cache del browser, la CDN e la cache interna del server gestiscono una singola richiesta di WordPress.
Ⅰ. Dispositivi dell'utente
La cache sui dispositivi dell'utente, come computer e smartphone, si può dividere in cache del sistema operativo (OS), cache del browser e cache delle app mobili.
La cache del disco (page cache) mantiene in memoria i dati letti dal disco ed è gestita dal kernel del sistema operativo. La cache DNS conserva i domini e gli indirizzi IP consultati di recente.
Quando la stessa risorsa viene richiesta di nuovo, la richiesta non arriva fino al server oppure verifica solo se è cambiata. Con un Service Worker (Cache API) una web app può aprirsi con le risorse salvate anche offline.
Le app che gestiscono contenuti pesanti salvano sul dispositivo i dati scaricati e gli elenchi visti di recente, così non riscaricano gli stessi dati.
Ⅱ. Cache del server e delle applicazioni
La cache lato server è la cache che interviene nel processo di creazione della pagina dopo che la richiesta arriva al server. La documentazione ufficiale di WordPress la divide in plugin di caching (cache delle pagine), cache degli oggetti e cache del server (cache dell'opcode come OPcache).
Per la stessa pagina invia la copia salvata senza eseguire PHP. Ci sono plugin di cache e cache del server web.
Quando lo stesso file viene eseguito di nuovo, la compilazione viene saltata. È incluso di serie da PHP 5.5.
Salva i dati usati spesso in un archivio in memoria per non ripetere la stessa query.
I framework web salvano i template renderizzati e i risultati delle query nella propria cache.
Ⅲ. Cache di distribuzione dei contenuti / infrastruttura di rete
Le cache dell'infrastruttura di rete rispondono con una copia tra il visitatore e il server di origine, riducendo la distanza fisica e il carico del server di origine. Nello standard di caching HTTP corrispondono alla shared cache usata da più visitatori.
Consegna i contenuti dal server più vicino al visitatore tra quelli distribuiti in tutto il mondo. La struttura e i vantaggi sono spiegati nell'articolo Cos'è una CDN? Perché usarla e 5 vantaggi dedicato all'argomento.
Il proxy diretto salva le risposte davanti al client, come in una rete aziendale, mentre il proxy inverso le salva davanti al server.
Gli apparati di rete salvano le associazioni nella cache ARP, mentre i resolver DNS dei provider e quelli pubblici conservano i risultati delle query per il TTL del record.
Ⅳ. Cache di database e sistemi di archiviazione
Poiché l'I/O su disco è lento, database e dispositivi di archiviazione tengono in memoria i dati letti spesso.
Mantiene in memoria i dati letti spesso e gli indici. La query cache di MySQL è stata rimossa nella 8.0; MariaDB la conserva, ma è disattivata per impostazione predefinita.
La memoria integrata nel controller del disco rigido e la DRAM all'interno dell'SSD salvano temporaneamente i dati e riducono la latenza di I/O.
Ⅴ. Cache a livello hardware
Le cache hardware sono memorie ad alta velocità all'interno di CPU e GPU che elaborano i dati più rapidamente della memoria principale (RAM).
La L1 è separata per ogni core e si divide in cache delle istruzioni e cache dei dati, mentre la L3 è condivisa da tutti i core. L'unità di gestione della memoria (MMU) salva nel TLB i risultati della traduzione degli indirizzi virtuali in indirizzi fisici.
Aumenta l'efficienza di elaborazione della GPU nei giochi, nella grafica 3D e nei calcoli di machine learning.
Ⅵ. Cache negli ambienti cloud / di virtualizzazione
Gli ambienti cloud e di virtualizzazione riutilizzano immagini dei container, ambienti di esecuzione delle funzioni e artefatti di build per ridurre i tempi di distribuzione e di esecuzione.
Un'immagine Docker è composta da più layer, e i layer che non sono cambiati non vengono ricostruiti né riscaricati.
Mantiene per un certo tempo l'ambiente di esecuzione di una chiamata conclusa e lo riutilizza alla chiamata successiva, riducendo il tempo di inizializzazione (Cold Start) (Warm Start).
Riduce i tempi delle build ripetute.
🔢 FAQ & contenuti consigliati









ℹ️ Informativa sull'affiliazione
I contenuti di questo sito includono link di affiliazione. Se un visitatore acquista un prodotto o un servizio tramite uno di questi link, il sito riceve una commissione dal venditore. In questo processo l'importo pagato dall'acquirente (durante le promozioni l'importo scende↓) non aumenta. Prezzi, sconti e disponibilità indicati si riferiscono al momento della stesura e possono differire da quelli reali: prima di acquistare verifica sempre presso il venditore. I prodotti vengono scelti e valutati secondo criteri propri, e le commissioni non influiscono sull'ordine di presentazione né sul contenuto delle valutazioni.