Memcached, MySQL sunucuları ile önbellek katmanı arasında kullanıdığı bir dağıtık hafıza önbellekleme sistemidir.
Nerede kullanılır ?
Sık talep edilen bilgileri sunmada ve veritabanını belirli ölçüde rahat bırakmada kullanılır. Hiç şüphe yokki belleğe
erişim, diske erişimden daha hızlıdır. Veritabanlarının tamponlama ( caching ) özelliği olsada duruma göre memcached
dağıtık yapısı nedeni ile tercih edilebilir.
Web sitelerinde kullanım yerleri olarak ;
+ Giriş işlemlerinde kullanıcı oturumlarının saklaması,
+ Siteiçi aramalarda , çok sık yapılan aramalar için kelimeler ve sonuçlarının hafızada saklanması,
+ Günlük yada haber sitelerinde ilk sayfada çıkan haberlerin hafızda saklanması,
örnek verilebilir.
Memcached kullanan web sitelerin başında Facebook gelmektedir.
Tavsiyelerim
NorthScale Membase Server
Rahatlıkla kullanabileceğiniz Memcached server. Anlık bellek trafiğini takip edilmeniz için güzel bir ara yüzü bulunmakta. Memcached de saklanan anahtarları takip edebilirsiniz.
Örnek kodlar
addServer('localhost','11211'); echo memcache_get_server_status($memc, 'localhost', 11211); mysql_connect("localhost","root",""); mysql_select_db("memcache_deneme"); ?> Denemep <form method="post"> <strong>İsim</strong>: <input name="ad" size="20" type="text" /> <input type="submit" /> </form> <hr /> get($_REQUEST['ad']); if ($value) { echo "Ad=".$value['ad']." Soyad=".$value['soyad']." Cinsiyet=".$value['cinsiyet']." Yaş=".$value['yas'].""; echo " Memcached verisi"; foreach (array_keys($value) as $key) { printf(" <strong>%s</strong>: %s ",$key, $value[$key]); } } else { $result =mysql_query(sprintf('select * from kayitlar where ad ="%s"',$_REQUEST['ad'])); $row = mysql_fetch_array($result); echo $key = md5('query'.$$result); $memc->set($row['ad'],$row,0,10); printf(" Loaded %s from MySQL ",$row['ad']); } ?> |