Wat zijn gegevens in de cache? Zal het problemen veroorzaken als we gegevens in de cache wissen?

Beste antwoord

Bedankt voor de (meerdere) A2As.

Gegevens in de cache zijn enkele gegevens op uw computer / telefoon / waar dan ook heel hard voor heeft gewerkt (geladen via een mogelijk traag netwerk, of moest veel CPU gebruiken of zelfs van de schijf moeten lezen). Het wordt ergens sneller opgeslagen dan wat er ook werd gebruikt om het eerst op te halen / aan te maken. Dus als een bestand op uw schijf in de cache is opgeslagen, wordt het niet op uw schijf opgeslagen, maar in uw geheugen. Als een bestand van het netwerk in de cache is opgeslagen, kan het in het geheugen of op uw schijf (of beide) worden bewaard.

Computers hebben veel verschillende caches. Veel . Zelfs dingen die u als “snel” zou kunnen beschouwen, zoals het RAM-geheugen in uw computer, zijn eigenlijk zo traag dat uw CPU een cache voor RAM-waarden heeft. Programmas hebben vaak meerdere caches voor verschillende dingen. Het besturingssysteem cachet schijfbestanden in RAM, en biedt regelmatig dingen die webpaginas in RAM en / of schijf cachen.

Alle gecachte gegevens “zouden” iets moeten zijn dat kan worden gemaakt of opnieuw kan worden opgehaald. In sommige gevallen kan dit eigenlijk niet, bijvoorbeeld als u een afbeelding van een webpagina in de cache hebt opgeslagen en om de een of andere reden de cache wordt gewist wanneer u geen netwerk heeft, kunt u die afbeelding pas terugkrijgen als het netwerk terugkomt … of de webpagina kan zijn veranderd, in welk geval de waarde nooit meer terug kan komen.

Sommige caches hebben methoden ingebouwd om te voorkomen dat ze oud worden (zoals wanneer een website elke dag een afbeelding verandert, wil naar de foto van de afgelopen maanden kijken alleen omdat het “sneller” is). Dit is eigenlijk een van de moeilijkere problemen in de informatica (cache-invalidatie). Er zijn heel veel beleidsmaatregelen. Enkele veel voorkomende zijn “gooi oude dingen weg”, “vraag de website / het bestandssysteem / wat dan ook of het ding is veranderd” en een persoonlijke favoriet “who cares”.

Dus “in theorie” gooien weg kan een cache geen probleem veroorzaken … en kan het ook niet oplossen. Behalve in de echte wereld zou het beleid voor het ongeldig maken van de cache verkeerd kunnen zijn, en oude gegevens worden in de cache opgeslagen en nu verouderd, het wissen van de cache zal dat verhelpen (woot!). In de echte wereld kunnen de gegevens ook “nu verouderd” zijn, maar kunnen ze momenteel niet opnieuw worden opgehaald, dus het wissen van de cache zal een probleem aan het licht brengen (boe!).

Het wissen van een cache zal er ook voor zorgen dat het langzamer terwijl dingen die ooit in de cache waren en je opnieuw nodig hebt, worden berekend / opgehaald / wat dan ook.

Antwoord

Op je computer 🙂

de cache is een stuk hardware dat ook bekend staat als SRAM (statische ram). Het heeft buitengewoon goede prestaties. Hieraan zijn echter kosten verbonden. Letterlijk. Een prijs zoals in veel $$$ omdat SRAM ook extreem duur is. Als onze computers volledig uit SRAM zouden bestaan, zouden ze ongelooflijk duur zijn. Zoals zoveel dat niemand ze zou kunnen betalen. Dus we kunnen zien waarom we SRAM zouden willen gebruiken (het presteert aanzienlijk beter dan DRAM of schijfruimte), maar als het zoooo duur is, waarom zouden we het dan gebruiken? Het is onpraktisch duur toch?

Ja, dat is het. Sommige slimme ingenieurs dachten echter aan een compromis. Wat als het grootste deel van de computerarchitectuur nog steeds bestond uit DRAM en schijfruimte (om betaalbaar te maken), maar om toch prestaties te behouden die de consument tevreden houden, wat als we alleen maar een klein stukje SRAM nodig hadden om onze snelheid te versnellen. computerprestaties VEEL. Sleutelwoord: “tiny sliver”

Dus waar wordt de “LRU-cache” gebruikt? Welnu, er is niet echt iets op zichzelf dat de “LRU-cache” wordt genoemd. Moderne caches, die u kunt beschouwen als onze kleine stukjes SRAM, hebben geen oneindige ruimte om gegevens op te slaan, en als u een typische consument bent die op internet surft, gaat u constant van webpagina naar webpagina, van platform naar platform, de gegevens De omzet op uw computer zal erg hoog zijn.

Dus hoe kunnen we dit “kleine stukje” SRAM gebruiken als onze data-omzet zo hoog is? Wat we doen is beslissen welke stukjes data we waarschijnlijk nog een keer zullen gebruiken, en we doen ons best om die stukjes data binnen ons kleine stukje SRAM (onze cache) te houden, zodat we de volgende keer dat we toegang moeten hebben tot een gemeenschappelijk gegevensbestand uw computer kan zeer snel toegang krijgen tot die gegevens omdat ze in dat stukje SRAM worden bewaard. En hoe beslissen we precies wat we wel en niet bewaren? Dit is precies waar het concept van de “LRU-cache” om de hoek komt kijken. Er worden veel verschillende cache-indelingen gebruikt om verschillende redenen (volledig associatief, set-associatief, direct toegewezen, enz.). Ze hebben elk hun voor- en nadelen, maar de meeste De gebruikelijke manier waarop uw besturingssysteem beslist welke gegevensbestanden in SRAM moeten worden bewaard en wat ze moeten weggooien, is door te kijken naar de gegevens waartoe het meest recent toegang is verkregen. Klopt toch? Als je zojuist op iets hebt geklikt, en je hebt erop geklikt de dag ervoor, en de dag ervoor, en de dag ervoor, enz…. Het is waarschijnlijk logisch om dat stukje gegevens in SRAM te bewaren, zodat het de volgende keer dat u erop klikt, BOOM, het in een oogwenk omhoog trekt. Maar hoe zit het met een website waarop u drie maanden geleden heeft geklikt en sindsdien niet meer bent?Welnu, terwijl je data-omzet blijft groeien, zal je besturingssysteem op een gegeven moment moeten bepalen wat het nodig heeft om uit SRAM te schoppen en zal het zeggen dat deze website al drie maanden niet is aangeklikt? Dit is het minst recentelijk gebruikte stukje data in onze cache, dus laten we dat eruit gooien.

De cache is een stukje hardware dat bekend staat als SRAM en dat zeer goede prestaties levert. Het LRU-uitzettingsalgoritme is hoe uw besturingssysteem beslist welke stukjes gegevens moeten worden bewaard en verwijderd uit dat kostbare SRAM.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *