Memoria cache este un spațiu mic și foarte rapid în care un sistem păstrează copii ale informațiilor pe care le folosește des, pentru a nu le căuta de fiecare dată în locul lor de origine, mai lent. Gândește-te la un bucătar care ține sarea, uleiul și piperul lângă aragaz, nu în cămară. Cămara are tot, dar drumul până acolo costă timp.
Principiul se aplică peste tot în tehnologie: de la procesorul telefonului la browser și la serverele site-urilor. Fără cache, aproape totul ar merge vizibil mai greu.
Ideea de bază: aproape și rapid contra departe și lent
Orice sistem digital are mai multe niveluri de stocare. Unele sunt extrem de rapide, dar mici și scumpe; altele sunt mari și ieftine, dar lente. Diferența dintre memoria RAM și SSD este explicată în articolul despre RAM și SSD. Cache-ul adaugă un nivel intermediar: păstrează în cea mai rapidă zonă disponibilă ceea ce probabil va fi nevoie în curând.
De ce funcționează? Pentru că programele nu cer informații la întâmplare. Tind să refolosească aceleași date (ceea ce tocmai ai folosit probabil vei folosi iar) și date aflate în vecinătate (dacă ai citit un rând, urmează de obicei următorul). Cache-ul exploatează aceste tipare.
Unde întâlnim cache-ul
În procesor
Procesorul este mult mai rapid decât memoria RAM. Ca să nu stea degeaba așteptând date, are în interior mici zone de memorie ultrarapidă, organizate pe niveluri, adesea numite L1, L2 și L3. Cele mai apropiate de nucleu sunt cele mai mici și mai rapide. Atunci când procesorul găsește datele de care are nevoie în cache, se spune că a avut un „succes” (hit), iar dacă nu, a avut un „ratat” (miss) și trebuie să le aducă din RAM. Mai multe despre cum lucrează acesta găsești la procesorul și nucleele lui.
În browser
Browserul păstrează pe discul tău fișiere pe care le-a descărcat deja: imagini, stiluri, scripturi. Când revii pe un site, nu le mai descarcă din nou, ci le ia de la tine. Pagina se deschide mai repede, iar consumul de date scade. Este unul dintre motivele pentru care a doua vizită pe un site este adesea mai rapidă decât prima.
În rețea și pe servere
Rețelele de livrare a conținutului păstrează copii ale paginilor și fișierelor în multe locuri din lume, ca să fie aproape de vizitator, cum se arată în articolul despre CDN. Serverele păstrează în memorie și rezultatele unor interogări costisitoare către baza de date, ca să nu le refacă la fiecare cerere. Chiar și DNS-ul folosește cache: răspunsurile despre adrese sunt reținute o vreme, conform principiului din articolul despre DNS.

Niveluri de cache pe scurt
| Loc | Ce păstrează | Cât ține | Beneficiu principal |
|---|---|---|---|
| Procesor | Instrucțiuni și date folosite acum | Fracțiuni de secundă | Viteză de calcul |
| Aplicație | Rezultate deja calculate | Cât rulează aplicația | Mai puține calcule |
| Browser | Fișiere ale site-urilor | Zile sau săptămâni | Pagini mai rapide, mai puține date |
| Rețea (CDN) | Copii ale conținutului | Minute până la zile | Distanță mai mică |
Problema: informația veche
Cache-ul are un dezavantaj clasic: copia poate rămâne în urmă față de original. Dacă un site își schimbă o imagine, iar browserul tău o păstrează pe cea veche, vei vedea varianta de ieri. Pentru a evita asta, fiecare element păstrat în cache are o durată de valabilitate, iar serverul poate spune browserului cât timp să-l rețină sau poate verifica dacă s-a modificat. Mecanismul de verificare folosește răspunsul 304, prezentat în articolul despre codurile HTTP.
Specialiștii spun, în glumă, că două dintre cele mai grele probleme din informatică sunt denumirea lucrurilor și invalidarea cache-ului. Ideea este că a decide exact când o copie nu mai e bună nu e simplu.
Când este bine să golești cache-ul
La un utilizator obișnuit, cache-ul nu are nevoie de atenție. Există totuși situații în care golirea lui ajută:
- un site afișează un aspect stricat sau informații vechi, deși proprietarul spune că le-a actualizat;
- o pagină refuză să se încarce corect după o schimbare de configurare;
- vrei să eliberezi spațiu pe un dispozitiv aproape plin;
- ai folosit un calculator comun și nu vrei să rămână urme.
Golirea cache-ului nu șterge parolele sau fișierele tale personale, dar poate face prima încărcare a unor site-uri puțin mai lentă. Cache-ul poate păstra și urme ale paginilor vizitate, deci contează și din perspectiva intimității, nu doar a vitezei. Poți afla mai multe despre urmele lăsate online în articolul despre urmărirea online.
Ce merită reținut despre memoria cache
- Cache-ul este o rezervă mică și rapidă cu copii ale datelor folosite des.
- Funcționează pentru că programele refolosesc aceleași date sau pe cele din apropiere.
- Există în procesor, în browser, pe servere și în rețea, cu roluri asemănătoare.
- Dezavantajul este riscul de a vedea o versiune veche a informației.
- Golirea cache-ului rezolvă multe afișări greșite, fără să șteargă datele personale.
Întrebări frecvente
Este cache-ul același lucru cu memoria RAM?
Nu. RAM este memoria de lucru principală a dispozitivului, iar cache-ul este un strat mai mic și mai rapid, folosit pentru a reduce așteptarea către memorii mai lente. Procesorul are propriul cache, separat de RAM.
Se poate umple cache-ul?
Da, dar sistemele elimină automat elementele mai puțin folosite, ca să facă loc celor noi. De aceea nu are de obicei nevoie de curățare manuală.
Ce se întâmplă dacă șterg cache-ul browserului?
Browserul va descărca din nou fișierele de care are nevoie, așa că primele încărcări pot fi mai lente. Parolele și marcajele rămân, dacă nu bifezi explicit și alte categorii de date.
De ce văd versiunea veche a unui site?
Probabil browserul sau o rețea intermediară păstrează o copie. O reîncărcare forțată sau golirea cache-ului rezolvă de obicei situația.
Cache-ul poate fi un risc de securitate?
Poate, dacă păstrează informații sensibile pe un dispozitiv comun. Pe calculatoare folosite de mai multe persoane, golește datele de navigare și ieși din conturi.