Memcache Nedir?
Memcache bir web sayfasındaki sık kullanılan tüm ögeleri RAM bellek üzerinde tamponlayıp çağırmaya yarayan eklenti diyebiliriz.
"Ram bellek üzerindeki veriyi okumak, hardiskten okumaktan daha hızlıdır"
Bu mantık üzerine inşaa edilmiş bir sistem diyebiliriz memcache için.
(sql sorguları, session degerleri, resimler, cssler,js dosyaları vs vs)
Ancak css,js ve resimler için farklı sistemleri kullanılır genelde.
Asıl performansını sql sorgularını cachelemek ve sessionları saklamakta gösterir.
Bir video siten var diyelim. En çok izlenen 100 video diye bir sayfan olsun.
Her gelen ziyaretçi için SQL Query oluşturtmak yerine belirlediğin süre boyunca sonuçları Ram bellekten çağırtırıp ekrana basınca, büyük bir performans artışı ortaya çıkar.
Facebook resmi geliştiricileri arasında ve memcache kullanan en büyük sistemdir.
Örnegin yüksek hitli sitelerde sessionlar bile sıkıntı oluşturur. php'de session_start() komutunu verdiğin anda her ziyaretçi için unique bir txt dosyası tmp klasöründe oluşturulur. Onbinlerce ziyaretçi aynı anda online olsa hardiskteki bu txt dosyalarına erişip okumak performans kaybına yol açar.
Sunucuna memcache kurup, php.ini dosyasına küçük bir müdahale ile
session.save.handler = "memcache"
session.save_path="tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_interval=15
session oturumlarını txt dosyasında degilde sunucunun RAM belleğinde tutmaya başladığın anda sitenin performansı en az %10 artar.