Caching is een term die in de informatica wordt gebruikt. Het idee achter een cache (uitgesproken als "cash" /ˈkæʃ/ KASH ) is zeer eenvoudig: Heel vaak is het verkrijgen van een resultaat voor een berekening erg tijdrovend, dus het opslaan van het resultaat is over het algemeen een goed idee. Er worden twee soorten opslagmedia gebruikt: De ene is meestal vrij groot, maar de toegang is "traag"; de andere is veel sneller toegankelijk, maar over het algemeen is het klein. Het basisidee achter caching is het gebruik van het medium dat snel toegankelijk is om kopieën van gegevens te hebben. Er is geen verschil tussen de kopie en het origineel. De toegang tot de originele gegevens kan lang duren, of het kan duur zijn om te doen (bijvoorbeeld: de resultaten van een moeilijk probleem dat lang duurt om op te lossen). Daarom is het veel "goedkoper" om gewoon de kopie van de gegevens uit de cache te gebruiken. Anders gezegd, een cache is een tijdelijke opslagruimte met kopieën van gegevens die vaak worden gebruikt. Wanneer een kopie van de gegevens in deze cache staat, is het sneller om deze kopie te gebruiken dan om de originele gegevens opnieuw op te halen of te berekenen. Dit maakt de gemiddelde tijd die nodig is om de data te benaderen korter. Het plaatsen van een nieuwe waarde in een cache betekent vaak dat een oudere waarde moet worden vervangen. Er zijn verschillende ideeën (meestal "strategieën" genoemd) over hoe de te vervangen waarde te selecteren.

Een buffer lijkt erg op een cache. Het is anders in die zin dat de cliënt die toegang heeft tot de gegevens in een buffer weet dat er een buffer is; de buffer wordt beheerd door de applicatie. Met een cache hoeft de cliënt die toegang heeft tot de gegevens niet te weten dat er een cache is.

Typische computertoepassingen hebben op vergelijkbare wijze toegang tot gegevens. Stel dat de gegevens zijn gestructureerd in "blokken", die individueel toegankelijk zijn. Wanneer een applicatie toegang heeft tot een blok is het ook zeer waarschijnlijk dat het toegang heeft tot (of verwijst naar) een blok dat "dicht bij" het originele blok ligt. Dit staat bekend als locality of reference. Er zijn verschillende soorten van een dergelijke "lokaliteit". Locality of reference is een van de redenen waarom caches goed werken in veel gebieden van de informatica.

Om goed te kunnen werken, zijn de caches klein, in vergelijking met de hele hoeveelheid gegevens. Hoe groter de cache, hoe langer het duurt om een item op te zoeken. Grotere caches zijn ook duurder om te bouwen.