Hovedforskel: En cache lagrer data transparent, så fremtidige anmodninger om disse data kan serveres hurtigere. En buffer, derimod, gemmer midlertidigt data, mens dataene er processen med at flytte fra et sted til et andet.
Der er to hovedtyper af caches, hukommelse caching og disk caching. Memory caching er, når cachen er en del af hovedhukommelsen, mens diskcaching er, når cachen er en del af et andet separat opbevaringsområde, f.eks. En harddisk. Caching er processen med lagring af data i en cache, så dataene kan åbnes hurtigere i fremtiden. De data, der er gemt i en cache, kan være værdier, der tidligere er blevet beregnet eller duplikater af oprindelige værdier, der gemmes andetsteds. Når der anmodes om nogle data, kontrolleres cachen først for at se, om den indeholder disse data. Dataene kan hentes hurtigere fra cachen end fra dets oprindelse.
Et nemt eksempel til at forstå caching er at se på web caching. En webcache er en mekanisme til midlertidig lagring (caching) af webdokumenter, såsom HTML-sider og billeder. Dette sker hovedsagelig for at reducere båndbreddeforbrug, serverbelastning og opfattet lag. Når en webside er indlæst, caches dataene på siderne Derfor er næste gang siden er indlæst, hurtigere, da data allerede er til stede, og kun de ændringer, der er foretaget på siden, skal indlæses, som i sin tur er cachelagret til næste gang. Googles cache-link i søgeresultaterne giver mulighed for at hente oplysninger fra websteder, der for nylig er gået ned, og en måde at hente data hurtigere på end ved at klikke på det direkte link.
Bufferen findes derimod hovedsagelig i RAM og fungerer som et område, hvor CPU'en kan gemme data midlertidigt. Dette område bruges primært, når computeren og de andre enheder har forskellige behandlingshastigheder. Dataene gemmes typisk i en buffer, da den hentes fra en inputenhed (f.eks. En mus) eller lige før den sendes til en udgangsenhed (f.eks. Højttalere). Imidlertid kan bufferen også bruges ved flytning af data mellem processer inden for en computer.
Så skriver computeren dataene op i en buffer, hvorfra enheden kan få adgang til dataene som sin egen hastighed. Dette gør det muligt for computeren at kunne fokusere på andre forhold, efter at den har skrevet op dataene i bufferen; som imod at konstant fokusere på dataene, indtil enheden er færdig.
Buffere kan implementeres i en fast lagerplads i hardware eller ved hjælp af en virtuel databuffer i software, hvilket peger på, at en databuffer er lagret på et fysisk lagermedium. Størstedelen af bufferne anvendes i softwaren. Disse buffere bruger typisk det hurtigere RAM til at gemme midlertidige data, da RAM har en meget hurtigere adgangstid end harddiske. En buffer justerer ofte timing ved at implementere en kø eller FIFO-algoritme i hukommelsen. Derfor skriver det ofte data i køen i en hastighed og læser det med en anden sats.
Buffere bruges også ofte med I / O til hardware, såsom harddiske, sende eller modtage data til eller fra et netværk eller afspille lyd på en højttaler. Buffere anvendes til mange formål, såsom sammenkobling af to digitale kredsløb, der opererer med forskellige hastigheder, og holder data til brug på et senere tidspunkt, hvilket tillader timing korrektioner, der skal foretages i en datastrøm, indsamling af binære databit i grupper, som derefter kan betjenes på som en enhed og forsinke transittiden af et signal for at tillade andre operationer at forekomme.
En buffer kan dog ikke bruges til øjeblikkeligt at flytte din placering i datastrømmen, medmindre den nye del allerede er flyttet til bufferen. Ligner YouTube-videoen, som ikke kan videresendes til en del, der ikke er dækket af den grå bjælke. Hvis du gør det, vil bufferen flytte og genstarte fra den nye placering.
Alligevel er funktionerne i et cache og en buffer ikke gensidigt eksklusive og kombineres ofte til en ideel ydeevne.