Önbelleğe Alma (Caching)
Erişim sürelerini hızlandırmak için sık kullanılan verilerin geçici ve hızlı bir bellekte saklanması işlemi.
Önbellek her seviyede çalışır: Donanım seviyesinde CPU önbellekleri, uygulama seviyesinde Redis gibi bellek içi veritabanları, ağ seviyesinde CDN'ler ve istemci seviyesinde web tarayıcınızın kendi yerel önbelleği.
graph LR
Center["Önbelleğe Alma (Caching)"]:::main
Rel_file_systems["file-systems"]:::related -.-> Center
click Rel_file_systems "/terms/file-systems"
Rel_cpu_cache["cpu-cache"]:::related -.-> Center
click Rel_cpu_cache "/terms/cpu-cache"
Rel_cache["cache"]:::related -.-> Center
click Rel_cache "/terms/cache"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5 yaşındaki gibi açıkla
Annene her telefon etmek istediğinde başka bir odadaki devasa telefon rehberine bakmak zorunda olduğunu düşün. Önbelleğe alma (caching), numarayı küçük bir yapışkan nota yazıp monitörüne yapıştırmak gibidir. Not defteri küçüktür ama ihtiyacın olan bilgiyi anında verir.
🤓 Expert Deep Dive
Donanım önbellekleri (L1/L2/L3), Zamansal ve Mekansal Yerellik prensiplerine dayanır. Önbellekler küçük olduğu için LRU (Least Recently Used) gibi tahliye politikaları (Eviction Policies) kullanırlar. Yazılım mühendisliğindeki en zor problemlerden biri 'Cache Invalidation'dır (Önbellek Geçersiz Kılma); yani ana veri değiştiğinde kullanıcının eski veriyi görmemesi için önbelleğin temizlenmesi işlemidir.
❓ Sık sorulan sorular
Why not just make the cache big enough to hold everything?
Cost and physics. Cache storage (like SRAM inside a CPU or RAM for a database) is extremely fast but very expensive per gigabyte. Primary storage (like hard drives or SSDs) is much cheaper but much slower. Caching provides the best of both worlds.
What does it mean to 'clear your cache'?
When you clear your web browser's cache, you are deleting the temporary files (images, scripts) it saved from websites you visited. This is often necessary if a website updates its design but your browser is stubbornly loading the old, cached version.
What is a 'cache miss'?
A cache miss occurs when a system looks for data in the cache but doesn't find it. It must then fetch the data from the slower primary storage, which takes longer, and then it typically copies that data into the cache for next time.