Eylül 20, 2023

Cache (önbellek) Nedir? Tanımı, Çalışması, Türleri ve Önemi

Muhtemelen bilgi işlem bağlamında “cache veya önbellek” terimiyle karşılaşmışsınızdır. Tarayıcılarınız, uygulamalarınız, bilgisayarınızdaki ve mobil cihazınızdaki CPU (merkezi işlem birimi) bunu kullanır. Ara sıra önbelleğinizi temizlemeniz bile gerekebilir.

Bu makale’de, bu kavramı ayrıntılı olarak açıklamakta ve türlerini ve temel faydalarını listelemekteyiz.

 

Cache Nedir?

Cache (Önbellek), uygulamaya veya cihaza bir sonraki erişimde veri alma süresini ve çabasını azaltmak için kullanıcı tarafından tüketilen verileri otomatik ve geçici olarak depolayan bir uygulama veya cihaz belleğine gömülü bir donanım veya yazılım bileşenidir.

 

Cache veya Önbellek, bilgileri, genellikle verileri bir bilgisayar sisteminde geçici olarak depolamak için kullanılan bir yazılım veya donanımdır. Sıklıkla erişilen verilerin performansını artırmak için kullanılan, hızlı ve daha maliyetli bir belleğin mütevazı bir biçimidir.

 

Geçici olarak, önbelleğe alınan veriler, cache kullanıcısına özel ve ana depolamadan ayrı bir depolama ortamına kaydedilir. Merkezi işlem birimi (CPU), uygulamalar, web tarayıcıları ve işletim sistemlerinin tümü cache kullanır. CPU nedir diye sorarsanız ilgili blog postumuzu okumanızı öneririm.

 

Toplu veya birincil depolama, kullanıcıların taleplerini karşılayamadığı için önbellek kullanılır. Önbellek, veri erişim sürelerini en aza indirir, gecikmeyi azaltır ve girdi/çıkışı (G/Ç) geliştirir. Önbelleğe alma yöntemi, pratik olarak tüm uygulama iş yükleri G/Ç işlemlerine dayandığından uygulama performansını artırır. Önbellekler hem donanımda hem de yazılımda bulunur.

 

Masaüstünüzdeki, dizüstü bilgisayarınızdaki, akıllı telefonunuzdaki ve tabletinizdeki yazılımdan gelen verileri işleyen CPU’nun da kendi önbelleği vardır. Bu CPU önbelleği, CPU’nun sık erişilen verileri almasına yardımcı olmayı amaçlayan kompakt bir bellek bloğudur.

 

Her veri parçasını yalnızca gerektiğinde yüklemek zorunda kalacağı bir senaryonun aksine, cihazın birincil belleğinin talimatları önemli ölçüde daha hızlı çalıştırmak için kullandığı bilgileri kaydeder.

 

Microsoft Edge, Google Chrome, Firefox ve Safari dahil her çevrimiçi tarayıcı kendi önbelleğini korur. Tarayıcı önbelleği, tarayıcının eriştiği web sayfalarını görüntülemek için gerekli dosyaları kaydeder. Bu, web sitesini tanımlayan HTML belgesini, Basamaklı Stil Sayfası (CSS) kılavuzlarını, Javascript’i, çerezleri ve grafikleri içerir.

 

Tipik olarak, uygulamalar kendi önbelleklerini de korur. Tarayıcılar gibi uygulamalar, gerekli gördükleri belgeleri ve bilgileri depolayarak, gerektiğinde verileri hızla yeniden yüklemelerine olanak tanır. Fotoğraflar, medya önizlemeleri, tarama geçmişi ve diğer kullanıcı tercihleri, çeşitli uygulamalar tarafından önbelleğe alınan veri türleri olabilir.

Önbellek Nasıl Çalışır

Cache (Önbellek) Nasıl Çalışır?

Bir önbellek istemcisi verilere erişmeye çalıştığında, önce önbelleği kontrol eder. Veriler orada bulunursa buna önbellek isabeti denir. Önbellek isabetiyle sonuçlanan girişimlerin yüzdesi, önbellek isabet oranı veya oranı olarak adlandırılır.

 

Önbellekte bulunmayan istenen veriler – önbellek kaybı olarak anılır – ana bellekten çekilir ve önbelleğe kopyalanır. Bunun nasıl yapıldığı ve yeni verilere yer açmak için önbellekten hangi verilerin çıkarılacağı önbelleğe alma algoritmasına, önbellek protokollerine ve kullanılan sistem politikalarına bağlıdır.

 

Safari, Firefox ve Chrome gibi web tarayıcıları, sık erişilen web sayfalarının performansını artırmak için tarayıcı önbelleğini kullanır. Bir kullanıcı bir web sayfasını ziyaret ettiğinde, istenen dosyalar kullanıcının bilgi işlem deposunda o tarayıcı için bir önbellekte saklanır.

 

Tarayıcı, daha önce erişilen bir sayfayı geri almak için ihtiyaç duyduğu dosyaların çoğunu web sunucusundan yeniden göndermek yerine önbellekten alır. Bu yaklaşıma okuma önbelleği denir. Tarayıcı, tarayıcı önbelleğindeki verileri web sayfasındaki dosyaları yeniden okuyabildiğinden daha hızlı okuyabilir.

 

Cache birkaç nedenden dolayı önemlidir:

  • Cache kullanımı, aktif veriler için gecikmeyi azaltır. Bu, bir sistem veya uygulama için daha yüksek performansla sonuçlanır.
  • G/Ç işlemlerini önbelleğe yönlendirerek, G/Ç işlemlerini harici depolamaya ve daha düşük depolama alanı ağı seviyelerine indirger
  • Veriler, geleneksel depolama veya harici depolama dizilerinde kalıcı olarak kalabilir. Bu, depolama veya dizi tarafından sağlanan anlık görüntüler ve Çoğaltma gibi özellikleri kullanarak verilerin tutarlılığını ve bütünlüğünü korur.
  • Flash, yalnızca iş yükünün daha düşük gecikme süresinden yararlanacak kısmı için kullanılır. Bu, daha pahalı depolamanın uygun maliyetli kullanımıyla sonuçlanır.

 

Önbellek ya CPU’da bulunur ya da sistem kartındaki bir yongaya gömülüdür. Daha yeni makinelerde, önbelleği artırmanın tek yolu sistem kartını ve CPU’yu en yeni nesle yükseltmektir. Daha eski sistem kartlarında, önbelleği artırmak için kullanılabilecek boş yuvalar olabilir.

 

Önbellekler Nasıl Kullanılır?

Önbellekler, donanım ve yazılım bileşenlerini kullanarak geçici dosyaları depolamak için kullanılır. Bir donanım önbelleği örneği, bir CPU önbelleğidir. Bu, bilgisayarın işlemcisinde yakın zamanda kullanılan veya sıklıkla kullanılan temel bilgisayar yönergelerini depolamak için kullanılan küçük bir bellek parçasıdır.

Önbellekler Nasıl Kullanılır

Birçok uygulama ve yazılımın da kendi önbelleği vardır. Bu önbellek türü, hızlı erişim için uygulamayla ilgili verileri, dosyaları veya talimatları geçici olarak depolar.

Web tarayıcıları, uygulama önbelleğe almanın iyi bir örneğidir. Daha önce belirtildiği gibi, tarayıcıların, önceki göz atma oturumlarından gelen bilgileri gelecekteki oturumlarda kullanmak üzere depolayan kendi önbellekleri vardır.

 

Bir YouTube videosunu yeniden izlemek isteyen bir kullanıcı videoyu daha hızlı yükleyebilir çünkü tarayıcı videoya önceki oturumdan kaydedildiği önbellekten erişir.

Cache kullanan diğer yazılım türleri şunları içerir:

  • Yaygın olarak kullanılan talimatların ve dosyaların saklandığı işletim sistemleri;
  • Web sitelerini daha hızlı sunmak için bilgilerin sunucu tarafında önbelleğe alındığı içerik dağıtım ağları;
  • Alan adlarını İnternet Protokolü adreslerine dönüştürmek için kullanılan bilgileri depolamak için kullanılabilecekleri alan adı sistemleri; Ve
  • Veritabanı sorgusunda gecikmeyi azaltabilecekleri veritabanları.Cache kullanan diğer yazılım türleri

 

Önbelleklerin Faydaları Nelerdir?

Aşağıdakiler de dahil olmak üzere önbelleğe almanın çeşitli faydaları vardır:

  • Performans (Performance). Verileri bir önbellekte depolamak, bilgisayarın daha hızlı çalışmasını sağlar. Örneğin, önceki tarama oturumlarından dosyaları depolayan bir tarayıcı önbelleği, sonraki oturumlara erişimi hızlandırır. Bir veritabanı önbelleği, normalde indirilmesi biraz zaman ve kaynak gerektirecek olan veri alımını hızlandırır.
  • Çevrimdışı çalışma (Offline work). Önbellekler, uygulamaların internet bağlantısı olmadan çalışmasına da izin verir. Uygulama önbelleği, yakın zamanda erişilen veya sık kullanılan verilere hızlı erişim sağlar. Ancak, önbellek tüm uygulama işlevlerine erişim sağlamayabilir.
  • Kaynak verimliliği (Resource efficiency). Önbelleğe alma, hız ve esnekliğin yanı sıra fiziksel cihazların kaynakları korumasına yardımcı olur. Örneğin, önbelleğe hızlı erişim pil gücünden tasarruf sağlar.

 

Önbelleklerin Dezavantajları Nelerdir?

Aşağıdakiler de dahil olmak üzere önbelleklerle ilgili sorunlar var:

Önbelleklerin Dezavantajları

  • Yolsuzluk (Corruption). Önbellekler bozulabilir ve saklanan veriler artık kullanışlı olmaz. Veri bozulması, tarayıcılar gibi uygulamaların çökmesine veya verilerin yanlış görüntülenmesine neden olabilir.
  • Performans (Performance). Önbellekler genellikle küçük geçici bellek depolarıdır. Çok büyürlerse performansın düşmesine neden olabilirler. Ayrıca, diğer uygulamaların ihtiyaç duyabileceği belleği tüketerek uygulama performansını olumsuz etkileyebilirler.
  • Güncel olmayan bilgiler (Outdated information). Bazen bir uygulama önbelleği eski veya süresi geçmiş bilgileri görüntüler. Bu, bir uygulama arızasına neden olabilir veya yanıltıcı bilgiler döndürebilir. Bir web sitesi veya uygulama internette güncellenirse, önceki oturumdan önbelleğe alınmış bir sürümün kullanılması güncellemeyi yansıtmaz. Bu, statik içerik için bir sorun değildir, ancak oturumlar üzerinde veya oturumlar arasında değişen dinamik içerik için bir sorundur.

 

Cache Algoritmaları

Cache bakımı için talimatlar, cache algoritmaları tarafından sağlanır. Cache algoritmalarının bazı örnekleri aşağıdakileri içerir:

  • En Az Sık Kullanılan (Least Frequently Used), bir önbellek girişine ne sıklıkta erişildiğini takip eder. En düşük sayıya sahip öğe önce kaldırılır.
  • En Az Son Kullanılan (Least Recently Used), son erişilen öğeleri önbelleğin üst kısmına yakın bir yere yerleştirir. Önbellek sınırına ulaştığında, en son erişilen öğeler kaldırılır.
  • En Son Kullanılan (Most Recently Used), önce en son erişilen öğeleri kaldırır. Bu yaklaşım, eski öğelerin kullanılma olasılığının yüksek olduğu durumlarda en iyisidir.

 

Cache Politikaları

Çeşitli önbelleğe alma ilkeleri, önbelleğin nasıl çalıştığını belirler. Ardından aşağıdakileri ekleyin:

  • Etrafına yazma önbelleği, önbelleği atlayarak işlemleri depolamaya yazar. Bu, büyük miktarda yazma G/Ç olduğunda önbelleğin taşmasını önler. Bu yaklaşımın dezavantajı, verilerin depodan okunmadığı sürece önbelleğe alınmamasıdır. Sonuç olarak, veriler önbelleğe alınmadığından okuma işlemi daha yavaştır.
  • Yazma önbelleği, verileri önbelleğe ve depolamaya yazar. Yazma önbelleğinin avantajı, yeni yazılan verilerin her zaman önbelleğe alınması ve böylece hızlı bir şekilde okunabilmesidir. Bir dezavantajı, veriler hem önbelleğe hem de birincil depolamaya yazılana kadar yazma işlemlerinin tamamlanmış sayılmamasıdır. Bu, yazma işlemlerinde gecikmeye neden olabilir.
  • Geri yazma önbelleği, tüm yazma işlemlerinin önbelleğe yönlendirilmesi açısından baştan sona yazmaya benzer. Ancak geri yazma önbelleğinde, veriler önbelleğe alındıktan sonra yazma işlemi tamamlanmış kabul edilir. Bu gerçekleştiğinde, veriler önbellekten depoya kopyalanır.

Bu yaklaşımla hem okuma hem de yazma işlemleri düşük gecikme süresine sahiptir. Dezavantajı ise, hangi önbellekleme mekanizmasının kullanıldığına bağlı olarak, verilerin depolamaya alınana kadar kayba açık kalmasıdır.

 

Önbelleği Temizlemek Ne İşe Yarar ve Ne Sıklıkla Yapılmalıdır?

Önbelleğin temizlenmesi, cihazdaki bellek alanını boşaltır. Tarayıcı önbelleği, doğrudan web’den indirilen dosyaları depolamak için belleği kullanır. Temizlemek, aşağıdakiler gibi kullanıcı sorunlarını çözebilir;

  • Dolu bir önbellek, uygulamaların çökmesine veya düzgün yüklenmemesine neden olabilir.
  • Eski önbellekler, güncelliğini yitirmiş bilgiler ve dosyalar içerebilir ve bu da web sayfalarının yüklenmemesine veya hatalı yüklenmesine neden olabilir. Bunları temizlemek, eski bilgilerden kurtulabilir.
  • Tarayıcı önbellekleri, parolalar gibi kayıtlı kişisel bilgileri de içerir. Bunları temizlemek kullanıcıyı koruyabilir.
  • Çoğu tarayıcı önbelleği, ayarlara gidilerek temizlenebilir.

 

Bir cache periyodik olarak temizlenmelidir, ancak günlük olarak temizlenmemelidir. Önbelleği çok sık temizlemek, şu sorunlardan dolayı kaynakların iyi bir şekilde kullanılması değildir:

  • Kullanıcı hızlı dosya erişimi avantajını kaybeder;
  • Önbellekler bazı dosyaları kendi başlarına siler ve bu tür bir bakıma ihtiyaç duymaz; Ve
  • Bilgisayar yeni dosyaları önbelleğe alacak ve alanı tekrar dolduracaktır.

 

Bir Önbelleği Nasıl Temizlersiniz?

Tarayıcı önbellekleri, çoğu son kullanıcının aşina olduğu önbelleklerdir. Çoğu durumda, bir ayarlar veya tercihler sekmesine veya menü öğesine gidilerek temizlenirler. Bu işlevler aynı zamanda gizlilik ayarları, tanımlama bilgileri ve geçmişi içerir. Kullanıcılar bu sekmelerden veya menülerden ayarları silebilir veya değiştirebilir.

 

Birçok bilgisayar tabanlı web tarayıcısı, bu menülere hızlı bir şekilde ulaşmak için önemli kısayollara sahiptir:

  • Microsoft Windows makinelerinde Ctrl-Shift-Delete tuşlarına basın.
  • Apple Mac’lerde Command-Shift-Delete tuşlarına basın.

 

Bu kısayollar, kullanıcıyı tarayıcıdan tarayıcıya biraz farklılık gösteren ayarlar menüsüne getirir.

 

Google Chrome Önbellek (Cache) Temizlemesi

  • Windows makinesinde Ctrl-Shift-Delete veya Mac’te Command-Shift-Delete tuşlarına basın.
  •  “Gizlilik ve güvenlik” (Privacy and security) bölümüne gidin.
  • Tarama verilerini temizle’yi (Clear browsing data) seçin.
  • Açılır menüden bir zaman aralığı seçin veya önbelleğin tamamını silmek için Tüm zamanlar’ı (all time) seçin.
  • Önbelleğe alınmış resimler ve dosyalar’a (Cached images and files) tıklayın.
  • Verileri temizle’yi (Clear data) tıklayın.

Safari Önbellek (Cache) Temizlemesi

  • Sağ üst köşede bulunan Safari sekmesine tıklayın. Ardından Tercihler kısmına basın.
  • Açılan pencere üzerinde Gizlilik sekmesinde Web Sitesi Verilerini Yönet kısmını göreceksiniz. Burada önbellekte tutulan veriler bulunuyor.
  • Tümünü sil seçeneğine tıklayarak önbelleği temizleyebilirsiniz.

Mozilla Firefox Önbellek (Cache) Temizlemesi

  • Firefox tarayıcınızı açın ve sağ üst köşede bulunan yan yana üç nokta butonuna tıklayın.
  • Menü düğmesine tıklayın ve Tercihleri seçin.
  • Açılan sayfada Gizlilik ve Güvenlik yazan yere tıklayın.
  • Verileri Temizle yazan yere tıklayarak Firefox cache temizleme işlemini gerçekleştirebilirsiniz.

Microsoft Edge Önbellek (Cache) Temizlemesi

  • Microsoft Edge’i açın, ekranın sağ üst köşesindeki yan yana üç nokta butonuna tıklayın.
  • Buradan Ayarlar butonuna tıklayın.
  • Açılan sayfada Gizlilik, arama ve hizmetler menüsüne tıklayın.
  • Yeni sayfada Göz atma verilerini temizle butonuna tıklayarak verileri temizleyebilirsiniz. Ayrıca Microsoft Edge tarayıcıyı her kapattığınızda temizlenecek ögeleri seçmenize de olanak tanıyor.

Cache Türleri

Önbelleğe alma birçok amaç için kullanılır. Çeşitli cache yöntemleri şunları içerir:

 

Memory cache

Bir mikroişlemcinin normal RAM’e erişebileceğinden daha hızlı erişebildiği RAM’dir.

Genellikle doğrudan CPU’ya bağlıdır ve çokça erişilen talimatları önbelleğe almak için kullanılır. RAM önbelleği, disk tabanlı olandan daha hızlıdır, ancak önbellek, CPU’ya yakın olduğu için RAM önbelleğinden daha hızlıdır.

 

Sunucu önbelleği

Bazen proxy önbelleği olarak adlandırılan sunucu önbelleği, ayrılmış bir ağ sunucusu veya hizmetidir. Sunucu önbellekleri, web sayfalarını veya diğer internet içeriğini yerel olarak kaydeder.

CPU önbelleği

CPU’ya yerleştirilmiş bir bellek parçasıdır. Bu bellek, sistem veri yolu hızından ziyade CPU hızında çalışır ve RAM’den çok daha hızlıdır.

Disk önbelleği

Yakın zamanda okunan verileri ve bazen yakında erişilmesi muhtemel bitişik veri alanlarını tutar. Bazı diskler, verileri ne sıklıkta okunduğuna bağlı olarak önbelleğe alır. Sık okunan depolama blokları, etkin bloklar olarak adlandırılır ve otomatik olarak önbelleğe gönderilir.

Flash cache

katı hal sürücü önbelleği olarak da bilinen flash cache, verileri geçici olarak depolamak için NAND flash bellek yongalarını kullanır. Flash cache, veri isteklerini, önbelleğin geleneksel bir sabit disk sürücüsünde veya yedekleme deposunun bir parçası olmasına göre daha hızlı yerine getirir.

Kalıcı cache

Sistemin yeniden başlatılması veya çökmesi durumunda verilerin kaybolmadığı depolama kapasitesidir. Verileri korumak için bir pil yedeği kullanılır veya veri kaybına karşı ekstra koruma olarak veriler, pil destekli bir dinamik RAM’e aktarılır.

 

RAM cache

Genellikle ana karta gömülü kalıcı bellek ve ayrılmış yuvalara veya ek konumlarına takılabilen bellek modülleri içerir. Anakart veriyolu bu belleğe erişim sağlar. CPU önbelleği, RAM’den 10 ila 100 kat daha hızlıdır ve bir CPU isteğine yanıt vermek için yalnızca birkaç nanosaniye gerekir. RAM önbelleği, milisaniye cinsinden oranlarda G/Ç sağlayan manyetik ortamdan daha hızlı yanıt süresine sahiptir.

 

Son Söz

Kişisel bilgisayarların evrenselleşmesinden bu yana önbellek, kullanıcı deneyimine güç veren temel bileşenler arasında yer aldı. Kullanıcıların bir uygulamayı veya web sitesini her açtıklarında baştan başlamalarını engeller.

 

Web uygulamaları giderek daha popüler hale geldikçe, önbellekte geçici olarak saklanan veriler kişiselleştirmede çok önemli bir rol oynayabilir.

Bu yazıda Cache hakkında bilmeniz gereken her şeyi söyledik, eğer hala bir sorunuz varsa destek ekibimize ulaşabilirsiniz.

 

Sıkça Sorulan Sorular

Bu kısımda cache hakkında daha fazla soruyu yanıtlayacağız:

Önbelleği Silmek Uygun Mu?

Önbelleğe alınmış verilerinizi ara sıra temizlemek fena değil. Bazıları bu verilere “önemsiz dosyalar (Junk Files)” diyor, yani cihazınızda öylece duruyor ve birikiyor. Önbelleği temizlemek, her şeyi temiz tutmaya yardımcı olur, ancak yeni yer açmak için sağlam bir yöntem olarak buna güvenmeyin.

Önbelleği Silmek Verileri Siler mi?

Önbelleğe Alınmış Verileri Temizlemek Ne İşe Yarar? Çoğu cihazda bir çeşit önbellek temizleme vardır. Yeni veriler gelir ve eski bilgiler kaldırılır. Bu sistem, cihazınızın yeni hiçbir şeyin üstesinden gelemeyecek kadar çok depolama alanıyla tıkanıp kalmamasını sağlar.

Cache Kaldırılırsa Ne Olur?

Önbelleğin silinmesi, önemli tarayıcı veya sistem bilgilerinizin hiçbirini silmez. Yalnızca geçici olarak saklanan dosyaları siler ve sizin için biraz yer açar. Yeniden göz atmaya başladığınızda, geçici dosyalar yeniden birikmeye başlar.

Önbelleği Temizlemek Parolaları Siler mi?

Belirli sitelere otomatik olarak giriş yapabilmek için tarayıcınıza şifreleri kaydettiyseniz, önbelleğinizi temizlemek şifrelerinizi de temizleyebilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir