Cache türkçe karşılığı ile önbellekleme, herhangi bir dosya, dokümana erişim süresini kısaltmak amacıyla ilgili görsel, metin yada herhangi bir türdeki (statik) doküman yada dokümanların geçici bir süre ile ara bellekte depolanmasına verilen genel bir isimdir. Cache süreci içerisinde depolama işlemi ara(ön)bellekler (RAM, Disk) aracılığı ile sağlanarak hızlı erişim istenilen dokümanın, tekrar tekrar istek gönderilerek indirilmesi yerine daha önceki erişim işlemlerinde indirilen dokümanların local yada sunucu tarafında depolanarak hızlıca servis edilmesi ve indirme, işleme yada oluşturma süreci boyunca kaybedilen zamandan ve maliyetlerden tasarruf edilmesi amaçlanır.
Reel hayattan örnek vermek gerekirse; Evinizde sürekli olarak kullandığınız belirli eşyaları daha sonrasında hızlıca kullanmak için belirli bir kutuda depolama işlemi uygulamanız bilgisayar dünyasında ki cache sisteminin temel mantığının reel hayattaki karşılığıdır. Her ikisinde de amaç ihtiyaç duyulan doküman ve nesnelere hızlıca erişmektir.
Cache Ne İşe Yarar? Faydaları Nelerdir?
Üst bölümde biraz değindiğimiz gibi cache (önbellek), herhangi bir uygulama yada web sitesi üzerinde statik olarak kullanılan dokümanların farklı bir depolama methodu ile depolanarak kullanıcının sunucuya istek gönderdiğinde hızlıca yanıt olarak statik dokümanların döndürüldüğü ve indirme, işleme maliyetlerinin minimuma indirildiği çalışma sistemidir.
Bu noktada cache’in kullanıcılara (kullanıcı cihazlarına) ve teknolojik olarak sunuculara sağladığı en önemli fayda, tekrar tekrar belirli statik dokümanların indirilme ve işleme maliyetinden hem kullanıcıyı hem sunucuyu kurtararak hem zamandan hemde işlem maliyetinden kullanıcıları ve sunucuları kurtarmasıdır.
Örneğin: Bir kullanıcı olarak sevdiğiniz bir siteye giriş yapmak istediğinizde ilgili sitede yer alan görseller yada çok sayıda farklı sayfa üstü ve site arkasında çalıştırılan elemanlar hem cihanızda (tarayıcınızda) hemde sunucu tarafında çeşitli çalıştırma ve uygulama maliyetleri yaratır. Bu noktada hem cihazınızın tekrar tekrar aynı indirme ve dosya işlemeyi yapmasının önüne geçmek hemde sunucunun aynı dokümanları tekrar tekrar yanıt olarak döndürmek için ekstra işlemler uygulamasının önüne geçmek adına sayfada kullanılan resimler, kodlar ve çeşitli sayfa üstü elemanlar tarayıcınızın (cihazınızın) ön belleğinde “cache” dosyası haline getirilerek son bağlantınız sonrasında cihanızda saklanır.
Daha sonrasında siz sevdiğiniz siteye tekrar giriş yapmak amacı ile bir istek gönderdiğinizde cihazınızda cache dosyası olarak depolanmış sitenin elemanları, hızlıca depolandıkları cache dosyası içerisinden çağrılarak tarayıcınıza (cihanızın ekranına) gönderilir. Tekrar aynı dokümanları işlemek ile uğraşmayan sunucu sayfanın cache dosyasında yer alan elementlerinin dışında kalan sayfa üstü elemanları çok daha hızlı bir şekilde yanıt olarak döndürür ve sitenin istek gönderdiğiniz sayfası ekranınıza çok daha hızlı şekilde gönderilir (açılır).
Cache dosyalarında saklanan dosyaların işlenme ve açılış performansı (Input / output) sunucu üzerinden sağlanan veri alışverişine göre çok daha hızlı gerçekleşeceğinden cache sisteminin kullanıcı cihazları ve sunucular üzerinde sağladığı en önemli avantaj hızlı açılış (performans) ve dosya işleme maliyeti avantajlarıdır.
Cache (Önbellek) Türleri
Önbellekleme noktasında kullanılan çok sayıda farklı platform, yazılım ve cihaz önbelleklemesi mevcuttur. Ancak biz SEO dünyasında yoğun olarak kullanılan (söz edilen) bir kaç önbellekleme türüne aşağıda yer vermeye çalıştık.
Donanım Önbellekleme
Donanım önbellekleme, kullanıcıların kullandıkları bilgisayar ve mobil cihazlarda işlemci ve mikro işlemcinin, işleme, maliyet ve yükünü azaltmak için kullanılan cache türüdür. Burada klasik yazılım (tarayıcı) önbelleğinde olduğu gibi cihazların herhangi bir bağlantı, açılış isteğine çok daha hızlı yanıt vermesi sağlanarak işlemcinin işleme maliyetinin azaltılabilmesi adına cihaz üzerinde bir veya birkaç farklı işlemci önbelleği çalıştırılarak işlemcilerin istekleri çok daha hızlı şekilde işlemesi sağlanır.
Modern işlemcilerin programlar ve veriler için ayrı önbellekleri olabilir. İşlemciye ek olarak cihazlarınızda yer alan sabit sürücülerinde ön bellekleri bulunur ve bu önbellekler cihazın beklenen hız performansını sağlamasında etkilidir.
Tarayıcı Önbellekleme
Günümüzde kullanılan pek çok modern (Chrome, Firefox, Safari vb) tarayıcılarda önbellekler kullanılarak temelde donanım önbelleğindeki çalışma mantığına benzer şekilde tarayıcılar üzerinden sağlanan bağlantıların açılış, yükleme hızlarının arttırılması amaçlanır.
Yazılım (tarayıcı) tarafında önbellekleme kullanılırken, kullanıcı herhangi bir site ile bağlantı kurmak istediğinde ve ilgili site ikinci kez ziyaret ediliyor ise daha öncesinde o site ile kurulan bağlantıda sitenin CSS, JS, resim vb statik kaynakları tarayıcı tarafından local olarak depolanır. Tekrarlı olarak bir sayfaya gönderilen isteğin statik kaynakları sunucu yerine kullanıcının cihazından tarayıcıya yüklenir ve bağlantı çok daha hızlı şekilde gerçekleştirilir. Kullanıcı olarak internet üzerinde herhangi bir siteyi ziyaret ettiğinizde tarayıcınız o sitede kullanılan belirli kaynakları bir sonraki ziyaretinizde çok daha hızlı şekilde kullanabilmek adına local olarak cihazınızda depolar. Siz bir sonraki ziyaret isteğinizi gönderdiğinizde ilgili dosyalar cihazınızda barınan local (diskten) alınarak tarayıcıya gönderilir ve yükleme ayrı bir indirme yapmaya gerek olmadan hızlıca gerçekleştirilir.
Sunucu Taraflı Önbellekleme
Tarayıcı önbelleklemeye benzer şekilde burada da kullanıcıların bağlantı kurmak istediği web sitesi yada uygulama ile alakalı gönderilen isteklerde, isteğin gönderildiği sayfa yada site ile alakalı statik elemanlar, sunucu tarafından bir önbellekleme ile depolanarak gelen isteklerde kullanıcıya sunucu kaynaklı bir önbellekleme aracılığı ile sunulur. Yine üstte örnek verdiğimiz diğer 2 önbellek modelinde olduğu gibi buradada kullanıcının dosyaları çok daha hızlı şekilde görüntülemesi amaçlanır.
Kullanıcı (tarayıcı) tarafında uygulanan geçici önbelleklemeden farklı olarak sunucu tarafında uygulanan önbelleklemede, dosyalar sunucuda saklanır ve kullanıcının herhangi bir müdahalesi olmadan sunucu aracılığı ile kullanıcılara dağıtılır.
Örneğin: Özellikle web sitelerinin veritabanı sorgu hızlarını arttırmak için obje odaklı önbellekleme sunucu veritabanlarında kullanılır. (Örnek: Redis Cache)
Buna ek olarak CDN ve OPCode önbellekleme methodlarıda sunucu tarafında önbelleklemede yoğun olarak kullanılan alternatiflerdendir.
Önbelleklenmiş Veriler Belirli Aralıklarla Silinmeli mi ?
Önbellekleme methodu ile depolanan veriler normal verilere kıyasla son derece küçük veriler olmaları sebebiyle belirli aralıklarla temizlenerek güncellenmeli ve işlevini tam anlamıyla yerine getirmeleri sağlanmalıdır. Önbelleklenmiş datalar (veriler)özellikle web tarafında geçici olarak depolanan, güncellenmesi gereken veriler olmaları sebebiyle belirli aralıklarla silinmelidir, bu sebeple normal verilere kıyasla önemsizdirler diyebiliriz.
Tüm bu genel geçerlik senaryolarına rağmen önbelleklenmiş verilerin görevleri gereği uygulama (yazılım) ve sistemlerin hızlı işleyişinde ne kadar kritik rol oynadığını üst bölümde belirtmiştik o sebeple buradaki önem kıyaslamasının normal verilere kıyasla yapıldığı unutulmamalıdır.
Önbelleklenmiş veriler normal verilere kıyasla boyut ve işlev olarak çok daha dar olmaları sebebiyle karşılaştırma noktasında normal verilere kıyasla daha önemsizdirler. Ancak gerek sistem gerekse web tarafında üstlendikleri görevleri gereğince tüm platformlar için faydalı yapılardır.
Mobil Cihazlarda Cache Temizliği
Klasik tarayıcı tarafında pek çok kullanıcının sıklıkla kullandığı ayarlar bölümünden komple bir tarayıcı temizliği yada site içerisinde, siteye özel yapılan cache (önbellek) temizliğine ek olarak mobil cihazlarınızda kullandığınız uygulamaların cihanızda oluşturduğu önbelleklenmiş verileride temizleyebilirsiniz.
Mobil cihazlarda cache temizliği yapmak için günümüzde en çok kullanılan iki işletim sistemi alt yapısı için yapılması gerekenleri aşağıda sizler için maddeler haline getirdik.
iOS Cihazlarda Cache Temizliği
En çok kullanılan mobil işletim sistemlerinden olan iOS cihazlarınızda cache temizlemek için yapmak için uygulamanız gereken işlemler sırası ile aşağıdaki gibidir;
1 – Settings (Ayarlar) > General (Genel) > iPhone Storage (iPhone Saklama Alanı) sırasıyla burada belirtilen işlemleri uygulayarak cache temizleme, iPhone saklama alanı ekranına ulaşın.
2 – Karşınıza çıkan ekranda tüm önbelleklenmiş verilerinizi silebileceğiniz yada manuel olarak uygulama bazlı önbelleklemeyi silebileceğiniz iki ayrı seçenecek karşınıza gelecektir.
3 – İlgili ekranda İngilizce kullanan kullanıcılar için Offload Unused Apps seçeneği cihazda depolanmış bütün uygulamalara yönelik önbellek verilerini silecektir. Türkçe kullanan kullanıcılar için ilgili seçeneğin adı Kullanılmayanları Kaldır olarak düzenlemiştir.
4 – Tüm önbelleklenmiş verileri silmenin yanı sıra uygulayabileceğiniz bir diğer önbellek silme methoduda iPhone saklama alanı ekranında ilgili ekranı aşağı kaydırarak sıralanmış uygulamalardan önbelleğini silmek istediğiniz uygulamayı seçerek manuel olarak verileri temizlemektir. Manuel olarak uygulamaya tıklayarak ilerlediğinizde uygulama ekranında karşınıza gelen iki seçenekten Uygulamayı Kaldır seçeneği önbelleklenmiş verileri silecektir. Uygulamayı Sil seçeneğini kullanmayınız.
Android Cihazlarda Cache Temizliği
Android cihazlarda önbelleklenmiş veri temizliği yapmak için sırası ile aşağıdaki adımları takip etmeniz yeterlidir.
1 – Settings (Ayarlar) bölümünü açın.
2 – Açılan ekranda Manage Applications (Uygulamaları Yönet) Seçeneğine tıklayın.
3 – Açılan ilgili ekranda telefonunuzda kullandığınız uygulamaların listesini görebilirsiniz. Bu alanda önbelleklenmiş verilerini silmek istediğiniz uygulamaların cache verilerini manuel olarak uygulamaya tıklayarak silebilirsiniz.
Arama Motoru (Google) Cache
Tarayıcı, sistem (sunucu) yada uygulama tarafında uygulanan cachelerin yanı sıra arama motorlarının da web siteleri üzerinde kullandıkları cache sistemleri mevcuttur. Bu sistemlerin en temelde amacı web dünyası üzerinde arama (keşif) ve inceleme faaliyetleri yürüten arama motoru botlarının ziyaret ettikleri sayfalarda statik şekilde kalan belirli elemanları tekrar tekrar indirmesinin önüne geçerek tarama maliyetlerini optimize etmektir.
Arama motorları içerisinde en popüler ve sektörün mihenk taşı diyebileceğimiz Google üzerinden konuya baktığımızda; Google botlarının pek çok farklı göreve göre kendi içlerinde ayrıldıklarını görüyoruz. Bu noktada özellikle Google bir site içerisinde verilere yönelik inceleme yapacağında çok sayıda farklı bot üzerinden tarama gerçekleştirdiğinden X bir bot tarafından ziyaret edilen siteniz snapshot adı verilen ekran görüntüsü ve belirli sayfa üstü elemanların önbelleklemesi yolu ile bir sonraki ziyaret için depolanır.
Buradaki temel amaç daha sonrasında sayfayı farklı amaçlarla ziyaret edecek Google botlarının ziyaretlerinde X bir dosyayı tekrar tekrar indirmesinin önüne geçmek ve sayfayı olduğundan çok daha hızlı çağırmaktır. Google yıllardan beri amaçladığı hızlı tarama, düşük maliyetli ve kaliteli internet stratejisinden yola çıkarak önbellekleme (cache) methodunu özellikle taranabilirlik noktasında aktif olarak kullanmaktadır.
Google Üzerinde Web Sayfasının Cache Versiyonunu Görüntüleme
Google üzerinde web sayfanızın cachelenmiş versiyonunu görüntülemek için yapmanız gereken sorgu aşağıdaki şekildedir;
cache: https://www.siteadresiniz.com şeklinde bir sorgu gerçekleştirdiğinizde ilgili sorguda belirttiğiniz url adresinin Google tarafından cachelenmiş versiyonunu arama sonuçlarından görüntüleyebilirsiniz.
Örneğin üstteki görselde görebileceğiniz şekilde https://www.dijitalzade.com/seo-nedir/ içeriğimiz için Google da bir cache sorgusu gerçekleştirdiğimizde karşımıza üstteki görselde gibi bir Google ön belleği çıkıyor. Burayı incelediğimizde özellikle sayfanın en üst bölümünde Google ilgili cache dosyasının hangi tarihde oluşturulduğunu bize net olarak aktarıyor ve dip not olarak ilgili ön bellek sayfasının fiili (gerçek) versiyonunun cache tarihinden itibaren değişmiş olabileceğini bize net olarak ifade ediyor.
Özellikle bu şekilde yapacağınız cache sorguları ile Google’ın önbelleği oluşturduğu tarih itibariyle sayfalarınızı nasıl görüntülediğini manuel olarak kontrol edebilir ve Google’ın tarama ve oluşturma faaliyetleri ile alakalı fikir sahibi olabilirsiniz.