Cevaplar
-
Evet 10 kullanıcı ayrı ayrı 10 habere bakarsa 100 tane farklı idye sahip cache dosyası oluşur. Ama cache dosyaları sitenin html hali olduğu 1mb ın üzerine çıkmaz. İşgal ettiği alan pek fazla olmaz yani. Ama size performans olarak geri döner projeniz çok fazla hit alıyorsa cache kullanmak kaçınılmaz oluyor.
hatta serverın harddiski yerine direk ram i cache olarak kullanma yoluna gitmek gerekebiliyor.-
sharq
peki yukardaki yazdığım kodla cache işlimeni mi yapayım yoksa memcache falan onlarımı kullanayım?11 yıl önce yazılmış -
Kesali
Şöyle anlatayım o zaman. Her iki çözümüde farklı yerlerde kullanmak gerekebilir. File cache yani yukardak yöntem küçük orta ölcekli sitelerde çok etkili olur. Aslında her siteye uygulamak lazım o ayrı.
Memcached adı üzerinde memory cache. Artı ve dezavantajları var. Bir kere file cache e göre çok hızlı en büyük dez avantajı ise harddiskler ramlere göre çok daha ucuz. Yani fazladan 1gb alan almak için 3 4 dolar fazladan ödersiniz ama 1gb memcache için çok daha fazlasını ödemek zorunda kalırsınız. Veya kendi vps yada serverınızda memcache kurabilirsiniz buda yine ram sarfiyatını arttırıcaktır.
Neyse konuyu özetleyelim.
Memcached ile siteyi cachelemek yerine sql query leri cachlemek daha mantıklı bir çözüm olur. Zaten javascript ,css,resimler browser üzerinde çok rahatlıkla cachlenebilir bunlara birde kaynak ayırmayabilirsiniz.
File cache ise cachelenen sayfanın direk browserdaki kaynak kodunu sakladığı için. Bir kere oluşturulur belirlediğiniz süre kadar o sayfayı ziyaret eden herkes oluşturulan bu statik html dosyasını çekmiş olur.
Sistem yükü bir hayli azalır.
Tabi bunlar yazılımsal düzenlemeler. Kullandığınız web serverla ilgilde bir takım düzenlemeler yapabilirsiniz. varnish ile filecache tutmak yerine varnish servera cache tutturabilirsiniz. Bu sayede siz filecache ile uğraşmazsınız server bunu otomatik yapar. Nginx keza hem web server olarak çalışır hemde cache tutabilir. Memcache yapılandırması gayet basittir. Loadbalancer da olur biraz teknik detaylar ama vakit buldukça inceleyin derim.
Özellikle nginx benim favorimdir.11 yıl önce yazılmış -
sharq
cevabın için teşekkür ederim ama çok bişey anlamadım :)
benim şuanki sorunum iletişim sayfası war burdada aynı koddaki cacheyi kullndım mesajı gönder deyince mesaj veritabanına kaydediliyor ama sayfa olarak html sayfayı include ediyor yani kullanıcıya mesajınız gönderildi yada gönderilemedi diye cevap yazmıyor bu birinci sorunum bunu nasıl düzeltebilirim
birde ben resimleri falan css dosyalarını hepsini cachelesin istiyorum yani maximum kazanç opencat sistemini biliyorsanız orda resimler cache dosyaında tutuluyor o tarz birşey de ypmak istiyorum buda 2.sorunum yardımınız için şimdiden teşekkr ederim..11 yıl önce yazılmış -
Kesali
Önemli değil sizin için birşey ifade etmesede cache nedir memcahe nedir gibi konularda merak sahibi olan birilerinin işine yarar.
İletişim sayfasında cache tutmayın çünkü anlık olarak mesajın gidip gitmemesine göre bir uyarı verdirmek istiyorsunuz. Cache dosyası sabit bir html gibi davranacağı için istediğiniz olay olmaz.
Resim css cache olayı ise browser üzerinde cache tutmalısınız serverda cache tutmak size hiçbir getiri sağlamaz. Belki css dosyalarını tek dosya haline getirip gzip lerseniz biraz kazanç sağlarsınız. Yine her resim için servera yine aynı sayıda request gidecek yine band harcayacak. Browser üzerinde cachelerseniz resim css dosyaları bir kere serverdan çekilir diğer sorgularda browser üzerindeki cacheden çeker.11 yıl önce yazılmış -
sharq
peki bu dediğinizi nasıl yapabiliriz yani bunun kodlarını falan bilmiyorum mantığınıda tam kavramadım11 yıl önce yazılmış
-