PHP Önbellek Sistemi : MEMCACHED



MEMCACHED, bir php önbellek sistemidir. Ölçeklenebilir ve performans olarak projeyi hafifletir. Sunucu maliyetlerini azaltır, hızı etkiler. Örneğin : veritabanı sonuçlarının bellekte yani ram de tutulmasını sağlayabiliriz. Böylece bilgilere daha hızlı ulaşıp, veritabanı tarafında daha az sorgu çalıştırmış oluruz.

MEMCACHED Kurulum


Memcached ve PHP için Pecl-Memcache eklentisi kurulmalıdır.

  1. yum search memcached (Depolarda arayalım)
  2. yum install memcached
  3. yum install php-pecl-memcache
  4. service memcached status (Durumu "OK" olmalıdır)
  5. chkconfig memcached on (Her açılışta çalıştır)
  6. phpinfo() fonksiyonunu bir dosya içine yazıp, çalıştıralım. Hem konsoldaki "service" kısmında çalışıyor gözükmeli, hemde phpinfo() içinde      memcache sürümü ve özelliklerini görmeliyiz.
Not : Ek olarak "11211" portunu firewall üzerinden tcp/udp olarak izin vermeliyiz.

MEMCACHED Konfigürasyon

vi /etc/sysconfig/memcached

  • PORT : "11211" -> Port değiştirilebilir
  • CACHESIZE : "64" -> MB cinsinden cache için boyutu
  • OPTIONS : Bağlantıyı kuramadığında ip adresi yazılabilir.

MEMCACHED PHP Konfigürasyon


PHP için ek konfigürasyona ihtiyaç duyarsak : vi /etc/php.d/memcache.ini

MEMCACHED PHP Kullanımı


Örneğimizde, MEMCACHED'a bağlandık. "query" nesnesine MySql kayıtlarını atadık. 60 saniye boyunca, MySql'den yapacağımız CRUD (insert,update,delete) işlemleri bilgilerimizi etkilemeyecek ve eski değerleri göreceğiz.


// Memcache Sınıfını Çağır ve Bağlantı Kur

$memcache = new Memcache;
$memcache->connect('192.168.2.2',11211) or die ("Could not connect");

// MySql Sorgumuzu Değişkene Aktardık.

$Cache_Degisken = $db->query('Sql_Sorgu');

// Memcached "Add" Komutu ile Önbelleğe Alalım

$memcache->add('Cache_Ad',$Cache_Degisken,false,60);

// "Get" Komutu ile Çağıralım ve Görüntüleyelim

$data = $memcache->get('Cache_Ad');
echo $data;


  • $memcache->add nesnesindeki "false" değeri normal depolamadır. "true" yaparsak, zlib ile sıkıştırılmış formatta depolama yapar.
  • Her anahtar en fazla "1 MB" olabilir.
  • Değerler birleşerek, verdiğimiz toplam CACHESIZE değerini oluşturur.


}
tarih : ocak 2013
kategori : php

Yorum Yapmak İstersen ?
Yazılıp / Çizilenler
Konuya kimse yorum yapmamış ...