Huvudskillnad: Ett cache lagrar data automatiskt så att framtida förfrågningar om den data kan serveras snabbare. En buffert, däremot, lagrar tillfälligt data medan data är processen att flytta från en plats till en annan.
Det finns två huvudtyper av cachar, minneskachning och diskhantering. Minneskachning är när cacheminnet är en del av huvudminnet, medan diskhantering är när cacheminnet är en del av ett annat separat lagringsområde, till exempel en hårddisk. Caching är processen att lagra data i en cache så att data kan nås snabbare i framtiden. Data som lagras i en cache kan vara värden som tidigare har beräknats eller dubbletter av ursprungliga värden som lagras på annat håll. När vissa uppgifter begärs, kontrolleras cachen först för att se om den innehåller den data. Uppgifterna kan hämtas snabbare från cacheminnet än från dess ursprung.
Ett enkelt exempel för att förstå caching är att titta på webbcaching. En webbcache är en mekanism för tillfällig lagring (caching) av webbdokument, till exempel HTML-sidor och bilder. Detta görs huvudsakligen för att minska användningen av bandbredd, serverbelastning och uppfattad fördröjning. När en webbsida laddas, cachas dataen på sidorna Följaktligen nästa gång sidan laddas är det snabbare, eftersom data redan är närvarande, och endast de ändringar som görs på sidan måste laddas, som i sin tur cachas för nästa gång. Googles cachelänk i sökresultaten ger ett sätt att hämta information från webbplatser som nyligen har gått ner och ett sätt att hämta data snabbare än genom att klicka på direktlänken.
Bufferten å andra sidan finns huvudsakligen i RAM och fungerar som ett område där CPU-enheten kan lagra data tillfälligt. Detta område används huvudsakligen när datorn och de andra enheterna har olika bearbetningshastigheter. Typiskt lagras data i en buffert eftersom den hämtas från en inmatningsenhet (t.ex. en mus) eller strax innan den skickas till en utmatningsenhet (t.ex. högtalare). Bufferten kan emellertid också användas när data flyttas mellan processer inom en dator.
Så skriver datorn upp data till en buffert, varifrån enheten kan komma åt data, som sin egen hastighet. Detta gör det möjligt för datorn att kunna fokusera på andra frågor efter att den har skrivit upp data i bufferten. som motsätter sig att ständigt fokusera på data, tills enheten är klar.
Buffertar kan implementeras i ett fast minnesplats i hårdvara eller genom att använda en virtuell databuffert i programvara, vilket pekar på att en databuffert lagras på ett fysiskt lagringsmedium. Majoriteten av buffertarna används i mjukvaran. Dessa buffertar använder vanligtvis snabbare RAM för att lagra tillfälliga data, eftersom RAM har en mycket snabbare åtkomsttid än hårddiskar. En buffert justerar ofta timing genom att implementera en kö eller FIFO-algoritm i minnet. Därför skriver det ofta data i kön i en takt och läser den i en annan takt.
Buffertar används ofta även med I / O till hårdvara, som t.ex. hårddiskar, sänder eller tar emot data till eller från ett nätverk eller spelar ljud på en högtalare. Buffertar används för många ändamål, såsom sammankoppling av två digitala kretsar som arbetar med olika hastigheter, håller data för användning vid en senare tidpunkt, vilket möjliggör timingkorrigeringar som ska göras på en dataström, samlar binära databitar i grupper som sedan kan drivas på som en enhet och fördröja transittiden för en signal för att tillåta andra operationer att inträffa.
En buffert kan dock inte användas för att omedelbart flytta din plats i dataströmmen, om inte den nya delen redan har flyttats till bufferten. Liknande YouTube-videon, som inte kan vidarebefordras till en del som inte omfattas av den grå fältet. Om du gör det flyttar bufferten och startar om från den nya platsen.
Ändå exkluderar funktionerna för en cache och buffert inte ömsesidigt och kombineras ofta för en idealisk prestanda.