Memcache Nedir? Neyin Yanında İyi gider?

Öncelikle memcache italyan usulü bir peynir çeşidi değildir ve dolayısıyla şarabın yanında iyi gitmez.

Peki o zaman nedir bu memcache?

Memcache adının da gizleyemediği gibi memory ile doğrudan ilgilidir.  Yoğun server’ın ve uzun süren SQL sorguların yanında iyi gider.

Cache’in memory ile bütünleşmiş versiyonudur.

Kurulumunu burada anlatmayacağım. Sadece mantığı ve kullanımından bahsedeceğim.

Memcache çok kere ihtiyaç duyulan verilerin bellekte tutulması olayıdır. Anahtar ( key ) – değer ( value ) mantığı ile çalışır.

Özellik olarak çok kısıtlanmış olduğu için ve veriyi hafızada sakladığı için gerçekten yüksek bir performans gösterir.

PHP kodlarımız içinde memcache ‘e bağlanmak için prosedüral api veya object oriented methodlarından birini tercih etmemiz gerekiyor.

1
2
/* prosedüral API  için */
$memcache = memcache_connect('memcache_host', 11211);
1
2
3
/* Object Oriented API için */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

Birinci parametre server kurulumu sırasında tanımlanan memcache host name, ikinci parametre ise port numarasıdır.

Bağlandıktan sonra yeni bir değişken eklemek için

1
memcache_set($memcache, 'anahtar', 'değer', 0, 30);

veya object oriented versiyonu için

1
$memcache->set('anahtar', 'değer', MEMCACHE_COMPRESSED, 50);

Presedüral versiyonda yeni bir değişken tanımlarken

1. parametre hangi Memcache serverını kullanacağını,

2. parametre anahtar ismi,

3. parametre anahtar değeri,

4. parametre verinin sıkıştırılıp, sıkıştırılmayacağı,

5. parametre ise değişkenin geçerliliğini yitirme (expire) süresidir.

Data sayı, yazı, dizi gibi herhangi bir türde olabilir.

Datayı çekerken ise get  fonksiyonu kullanılır.

1
2
/* prosedüral API için */
$degisken = memcache_get($memcache, 'anahtar');
1
2
/* Object Oriented API */
$var = $memcache->get('anahtar');

Görüldüğü üzere datayı çekerken sadece anahtar parametresi kullanıyor.

PHP derlenmesi bittiğinde Server memcache bağlantısını kapatır ama istenilirse

1
2
/* prosedüral API için */
memcache_close($memcache);
1
2
/* Object Oriented API */
$memcache->close();

ile kapatılabilir.

Memcache’in kabası bu şekildedir.  Budur, bu kadardır.

One thought on “Memcache Nedir? Neyin Yanında İyi gider?

Bir Cevap Yazın

Your email will not be published. Name and Email fields are required.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>