Önbellek Açıklaması: Tanım, İşlevsellik ve Teknik Detaylar
Önbellek, gelecekteki veri alımlarını hızlandırmak ve gecikmeyi azaltmak için sık erişilen verileri tutan yüksek hızlı geçici bir depolamadır.
Önbellek, gelecekteki veri isteklerinin daha hızlı hizmet verilebilmesi için verileri depolayan bir donanım veya yazılım bileşenidir. Daha hızlı bir depolama ortamı (RAM veya CPU kayıtları gibi) ile daha yavaş bir depolama ortamı (disk depolama veya ana bellek gibi) arasında geçici bir arabellek görevi görür. Veri istendiğinde, sistem önce önbelleği kontrol eder. Veriler bulunursa ('önbellek isabeti'), hemen döndürülür. Bulunmazsa ('önbellek hatası'), veriler orijinal, daha yavaş kaynaktan alınır ve daha sonra kullanılmak üzere tipik olarak önbelleğe bir kopya kaydedilir. Bu, daha yavaş depolamaya erişme ihtiyacını azaltarak performansı önemli ölçüde artırır; bu ilke yerellik ilkesi (principle of locality) olarak bilinir.
graph LR
Center["Önbellek Açıklaması: Tanım, İşlevsellik ve Teknik Detaylar"]:::main
Rel_caching["caching"]:::related -.-> Center
click Rel_caching "/terms/caching"
Rel_redis["redis"]:::related -.-> Center
click Rel_redis "/terms/redis"
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
İş yerinizin hemen yanında, en sık kullandığınız aletler için küçük, hızlı erişimli bir raf hayal edin. Bir tornavidaya ihtiyacınız olduğunda her seferinde odanın diğer ucundaki alet kutusuna gitmek yerine, önce hızlı rafınıza bakarsınız. Oradaysa, anında alırsınız. Değilse, alet kutusuna gider, tornavidayı alır ve işiniz bittiğinde belki de bir sonraki sefere hazır olması için hızlı rafınıza geri koyarsınız. O hızlı raf, bir önbellek gibidir; yaygın şeyleri çok daha hızlı almanızı sağlar.
🤓 Expert Deep Dive
Önbellek belleği, özellikle zamansal yerellik (yakın zamanda erişilen verilere tekrar erişilme olasılığı) ve mekansal yerellik (yakın zamanda erişilen verilere yakın verilerin yakında erişilme olasılığı) ilkelerini kullanır. Önbellek sistemleri genellikle değişken hız, boyut ve maliyete sahip hiyerarşilerde (örneğin, CPU'lardaki L1, L2, L3 önbellekleri) yapılandırılır. Önbellek tutarlılığının yönetimi, birden fazla önbellekte veri tutarlılığını sağlamak için MESI gibi protokolleri kullanan çok çekirdekli/çok işlemcili sistemlerde kritik öneme sahiptir. Önbellek değiştirme algoritmaları (örneğin, En Son Kullanılan (LRU), İlk Giren İlk Çıkar (FIFO), En Az Kullanılan (LFU)) önbellek kapasiteye ulaştığında hangi veri bloğunun atılacağını belirler. Anahtar performans metrikleri arasında isabet oranı (önbellekten hizmet verilen isteklerin yüzdesi), hata oranı (önbellekte bulunamayan isteklerin yüzdesi), isabet süresi (önbellekten veri alma süresi) ve hata cezası (hatadan sonra orijinal kaynaktan veri alma süresi) bulunur.