Home

cacheanvändning

Cacheanvändning innebär att ofta efterfrågade data sparas i en snabbare mellanlagring för att minska åtkomsttiden och belastningen på det primära lagringssystemet. Cache används i flera sammanhang, bland annat i hårdvara som CPU-cache samt i mjukvara och nätverk som programvarucaches, webbproxys och CDN:er. Effekten mäts vanligtvis som andelen träffar (hit rate) i förhållande till missar (miss rate).

En cache fungerar som en mindre, snabbare kopia av en större resurs. När data efterfrågas kontrolleras först

CPU-cache uppdelas vanligen i L1-, L2- och ibland L3-cache. L1 är snabbast men har liten kapacitet och

Webbcache omfattar browser-cache, reverse proxy-cache och CDN-cache. HTTP-cache regleras av headers som Cache-Control, Expires, ETag och

Fördelar med caching är lägre svarstider, minskat nätverks- och minnesbandbreddsbehov samt ökad genomströmning. Begränsningar inkluderar risk

---

cachen
(träff).
Vid
miss
hämtas
data
från
nästa
nivå
och
kopieras
tillbaka
till
cachen.
Lokalitet,
både
temporär
och
rumslig,
ökar
sannolikheten
för
framtida
träffar.
Åtkomstmönster
styr
vilka
data
som
bör
behållas
genom
utbytesspolicyer
(eviction
policies),
ofta
LRU,
LFU
eller
FIFO.
I
flerkärniga
system
krävs
cachekoherens
så
att
uppdateringar
är
konsekventa
över
kärnorna,
vanligtvis
med
koherensprotokoll
som
MESI.
används
ofta
separata
data-
och
instruktion
caches.
L2
är
större
och
långsammare,
medan
L3
oftast
delas
mellan
kärnorna
och
fungerar
som
en
sista
mellanlagring
innan
huvudminnet.
Last-Modified.
Validering
av
fräsch
data
och
mekanismer
som
stale-while-revalidate
balanserar
färskhet
mot
tillgänglighet
och
belastning
på
nätverket.
för
stale
data,
komplexitet
i
invalidation
och
policyhantering
samt
potentiell
cachekoordinationsproblem
som
kan
leda
till
thrashning
i
vissa
arbetsbelastningar.