Caching è un termine usato in informatica. L'idea alla base di una cache (si pronuncia "cash" /ˈkæʃ/ KASH ) è molto semplice: Molto spesso, ottenere un risultato per un calcolo richiede molto tempo, quindi memorizzare il risultato è generalmente una buona idea. Si utilizzano due tipi di supporti di memorizzazione: Uno è di solito abbastanza grande, ma l'accesso è "lento"; l'altro è molto più veloce, ma generalmente è piccolo. L'idea di base del caching è quella di utilizzare il supporto che è veloce da accedere per avere copie dei dati. Non c'è differenza tra la copia e l'originale. L'accesso ai dati originali può richiedere molto tempo, o può essere costoso da fare (per esempio: i risultati di un problema difficile che richiede molto tempo per essere risolto). Per questo motivo, è molto più "economico" utilizzare semplicemente la copia dei dati dalla cache. Mettiamola in modo diverso, una cache è un'area di memorizzazione temporanea che ha copie di dati che viene utilizzata spesso. Quando una copia dei dati è in questa cache, è più veloce usare questa copia piuttosto che recuperare o ricalcolare i dati originali. In questo modo il tempo medio necessario per accedere ai dati sarà più breve. Mettere un nuovo valore in una cache spesso significa che un valore più vecchio deve essere sostituito. Ci sono diverse idee (di solito chiamate "strategie") su come selezionare il valore da sostituire.
Un buffer è molto simile a una cache. È diverso in quanto il cliente che accede ai dati in un buffer sa che c'è un buffer; il buffer è gestito dall'applicazione. Con una cache, il cliente che accede ai dati non deve essere consapevole della presenza di una cache.
Le tipiche applicazioni informatiche accedono ai dati in modi molto simili. Supponiamo che i dati siano strutturati in "blocchi", ai quali si può accedere individualmente. Quando un'applicazione accede ad un blocco, è anche molto probabile che acceda (o faccia riferimento) ad un blocco "vicino" al blocco originale. Questo è noto come località di riferimento. Esistono diversi tipi di "località" di questo tipo. La località di riferimento è uno dei motivi per cui le cache funzionano bene in molti settori dell'informatica.
Per funzionare bene, i cache sono piccoli, rispetto all'intera quantità di dati. Più grande è la cache, più tempo ci vuole per cercare una voce. Le cache più grandi sono anche più costose da costruire.

