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.
- yum search memcached (Depolarda arayalım)
- yum install memcached
- yum install php-pecl-memcache
- service memcached status (Durumu "OK" olmalıdır)
- chkconfig memcached on (Her açılışta çalıştır)
- 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.iniMEMCACHED 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.