Een cache kan worden gebruikt om de prestaties van de toegang tot een bepaalde bron te verbeteren. Wanneer er meerdere van dergelijke caches voor dezelfde bron zijn, zoals in de afbeelding, kan dit tot problemen leiden. Cachecoherentie of Cache coherency verwijst naar een aantal manieren om ervoor te zorgen dat alle caches van de bron dezelfde gegevens hebben, en dat de gegevens in de caches zinvol zijn (dit wordt gegevensintegriteit genoemd). Cachecoherentie is een speciaal geval van geheugencoherentie.
Er kunnen problemen ontstaan als er veel caches van een gemeenschappelijke geheugenbron zijn, omdat gegevens in de cache dan geen zin meer hebben, of omdat één cache niet meer dezelfde gegevens heeft als de andere. Een veel voorkomend geval waarin dit probleem zich voordoet is de cache van CPU's in een multiprocessing systeem. Zoals te zien is in de figuur, als de bovenste client een kopie heeft van een geheugenblok van een vorige leesbeurt en de onderste client verandert dat geheugenblok, dan kan de bovenste client achterblijven met een ongeldige cache van het geheugen, zonder dat hij het weet. Cache coherentie is er om zulke conflicten op te lossen en consistentie tussen cache en geheugen te behouden.

