Wiki Sayfaları
PHP
MySQL
MySQL ile CDC (Change Data Capture)
Curl ile Sitelere Login Olmak
Resim Upload Sınıfı
PHP+MySQL sistemler için üye giriş-çıkış-kayıt
MySQLde Türkçeleştirme Operasyonu
Apache mod_geoip kurulumu ve PHP Kullanımı
Ülke + Şehir + İl Posta Kodu görüntüleme ip tabalı | PHP
Belirli bir değer okuyana kadar ekleme yapmak
Bugün ve X gün arasında doğanları listeleme | MySQL
Basit MySQL Sorguları
Curl Site Check
PHP Class Turetme Örneği
Recursive PHP
PHP ile Dosya İşlemleri
PHP FTP Fonksiyonları
PHP 5.3 Deprecated FunctionsSon Aktiviteler
4 ay önce
4 ay önce
5 ay önce
5 ay önce
6 ay önce
Paylaş
PHP ile MemCached Kullanımı
MemCached (http://memcached.org) 2003 yılında LiveJournal (http://livejournal.com/) için yazılmış ve geliştirilmesi devam eden açık kaynak kodlu, yüksek performanslı, dağıtık mimaride çalışabilen bir önbellekleme sunucu sistemidir.
MemCached ile sürekli ihtiyacını olan dizileri, program ayar verilerini, uzun süren MySQL sorgu sonuçlarını önbellekleyerek yazılımınızın çok daha hızlı çalışmasını sağlayabilirsiniz.
MemCached kullanan büyük oyuncular * GittiGidiyor * LiveJournal * Wikipedia * Flickr * Bebo * Twitter * Typepad * Yellowbot * Youtube * Digg * WordPress.com * Craigslist .
MemCached ‘in depolama stili key-value (anahtar kelime – yüklenen değer) şeklindedir. Hafızada durmasını istediğiniz değere bir key tanımlarsınız ve set edersiniz.
Örnek key-value;
key : iller
value : Türkiyedeki tüm il listesi (İstanbul, Ankara, İzmir …)
MemCached TCP/IP üzerinde çalışan sunucudur.
MemCache ise PHP’nin MemCached sunucusuna bağlanan, değer set eden, anlık durum
bilgisi gösteren yani MemCached üzerinde işlemler yapan kütüphanesidir.
Kurulumlar :
MemCached sunucuyu yum , apt-get ile kurabilirsiniz.
MemCache kutuphanesini de PECL ile kurabilirsiniz. Paket Adı : pecl-memcache
Kurulumları tamamladıktan sonra Apache’yi restart edin, phpinfo() ‘da
MemCache kütüphanesini göreceksiniz.

MemCached Sunucuyu başlatmak (shell’den):
# memcached -d -m 512 -l 127.0.0.1 -p
11211 -u nobody
(d = daemon, m = memory (512MB), u = user, l = IP adresi, p = port)
Artık hazır sayılırız. Bir cache sunucumuz var ve cache sunucusunda işlem yapacağımız bir de kütüphanemiz.
memcache_ornek.php
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) or die ("MemCached servera baglanilamiyor!");
$cachelenecekVeri = "istanbul,ankara,izmir";
/* * MemCached'e veri gönder. * iller = key * $cachelenecekVeri = veriler * false = 3. parametre sıkıştırma parametresidir, true olduğunda veriler sıkıştırılarak saklanır * 100 = 4. parametre saniye olarak cachleme süresidir */$memcache->set('iller', $cachelenecekVeri, false, 100);
/* * MemCached'den veri al. */$cachedekiDeger = $memcache->get('iller');
var_dump($cachedekiDeger);
?>
memcache_sql_ornek.php
# MemCached'e baglan$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) or die ("MemCached servera baglanilamiyor!");
# cache'den veriyi almaya calis$data = $memcache->get('iller');
if ($data === false) {
# eger donen deger FALSE ise cachede veri yoktur, db'den veriyi al ve cache'e yaz
echo "data canlıdan geliyor...
";
$data = array();
$SQL = "SELECT ad FROM iller";
$sorgu = mysql_query($SQL);
while ($sira = mysql_fetch_object($sorgu)) {
$data[] = $sira->ad;
}
# db'den gelen veriyi cache'e yaz , 3600 = 1 saat
$memcache->set('iller', $data, false, 3600);
}else {
echo "data cacheden geliyor...
";
}print_r($data);
?>
Dikkat Edilmesi gerekenler :
* Memcache bir cache sistemidir. Verilerinizin kaybolabilir.
* Memcache’de key (anahtar kelime) en fazla 250 karakter olabilir.
* Cache’lenen veri en fazla 1MB olabilir. 1MB üzerinde veri saklayacaksanız
sıkıştırma parametresini “true” yapın.
* Memcache’de cache için ayrılan alan hiçbir zaman dolmaz. Eğer sürekli veri
set ediyorsanız ve yer kalmadı ise otomatik olarak en eski verinin üzerine
yazılacaktır (LRU).
* x86 ve x86_64 farkı: x86 mimaride cache için ram’de en fazla 4GB
ayırabilirsiniz (memcached’de –m
parametresi). x86_64 mimaride 16.8
milyon terabytes’a kadar desteklemektedir.
Linkler :
http://www.php.net/memcache
http://memcached.org/
http://en.wikipedia.org/wiki/Memcached
