Vesta sunucuda Memcache kurulum ve kullanımı
Merhaba! Redis ile ilgili olan makaleme gelen yoğun ilgiden sonra, daha kolay ve stabilize olan Memcache sisteminin vesta control panel üzerinde kurulum ve kullanımını anlatan bir yazı hazırlamak istedim. Bildiğiniz gibi Vesta, Cpanel alternatifi ve ücretsiz, oldukça performanslı ayrıca güvenilir bir sunucuydu. Aylık lisans derdiniz olmadan, vesta ile kolayca sunucu oluşturabiliyor ve sitelerinizi barındırabiliyordunuz.
Memcache nedir?
Okunuşu “memkeş” olan ve sürekli yanlış telaffuz edilen Memcache, veritabanı motorudur. Fakat MySQL’de olduğu gibi ağır ve meşakkatli olmamasının yanısıra, verileri işlemcide değil RAM’de depolar. Büyük firmaların Memcache kullanmasındaki asıl sebep ise, RAM fiyatlarının işlemcilere göre daha ucuz olması ve “tarayıcıya depolama” mantığında çalışan Memcache’in normalden kat be kat hızlı sonuç vermesidir.
Memcache, Facebook HQ tarafından geliştiriliyor. Ayrıca Memcache’i wikipedia, twitter, yandex gibi devasa veri barındıran firmalar kullanıyor. Memcache ile işlem yapmaya gerek duymanız için; öncelikle büyük veri ihtiyacınız olmalı ve sürekli veritabanı bağlantısından kurtulmalısınız.
Memcache mi Redis mi?
Aynı mantığa hizmet etmesine rağmen Memcache oldukça eski, bilinen ve kaynaklanabilir bir yapı. Redis ise, özel geliştiricisi olan RedisLab’ın ürettiği bir sisteme dayanıyor. Redis’in “büyük veriye” odakla daha başarılı olduğunu rahatlıkla söyleyebiliriz, fakat memcache’i kullanan Facebook, Twitter ve Wikipedia gibi örnekleri es geçmemek lazım.
Memcache için gerekenler nedir?
Aşağıdaki kurulumu sorunsuz gerçekleştirmek ve kuruluma başlayabilmek için gerekli olanlar şöyle;
- İşlem süresince gerekli kafeini ve enerjiyi elde edebilmek için bir fincan kahve.
- Centos 6.X sunucu
- Vesta CP kurulu olması (Vesta kurulumu için tıklayın)
- 15 dakika!
Memcache kurulumuna başlayalım…
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
yum update
RPM’i yükledik. Şimdi kuralım.
yum -y install memcached
Şimdi, memcache depolamak için bir ram belirleyelim. Veri boyutunuza göre katlanarak artabilir. Şimdi memcached ayarlarını açıyoruz;
nano -w /etc/sysconfig/memcached
ve içeriğinden CACHESIZE=”” kısmını bularak buraya, memcache için ayırmak istediğimiz ram miktarını yazıyoruz. Örn: 512
Daha sonra CRLT + X ve Y + ENTER diyerek düzenleme sayfasını kapatıp işlemlere devam edelim.
Memcache’i çalıştıralım.
/etc/init.d/memcached start
Ayrıca her sistem açıldığında, memcache de açılsın istiyoruz. Reboot & Restart işlemlerinde, memcache’i özellikle açmamak için bir defalığına aktif edelim.
chkconfig memcached on
Büyük kısmı atlattık. Son bir dzüenleme evresi daha kaldı.
nano -w /etc/sysconfig/iptables
Açılan düzenleme penceresinde;
-A INPUT -p tcp -m tcp --dport 8083 -j ACCEPT
satırını buluyoruz ve hemen bir satır altına şunu ekliyoruz;
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT
Daha sonra yine CRLT + X ve Y + ENTER diyerek sayfayı kapatıyoruz. Ayarların çalışması için ise;
/etc/init.d/iptables restart
komutunu kullanıyoruz.
Son olarak modülleri de kurduk mu bitmiştir bu iş!
yum -y install php php-pecl-memcache
yum -y install php php-pecl-memcached
ve server’ı yeniden başlatıyoruz.
/etc/init.d/httpd restart
PHP ile Memcache kullanım evreleri
Türkçe kaynak için PHP.net > Memcache adresini kullanabilirsiniz.
Memcache server’a bağlantı kurma:
$memcache = new Memcache;
$memcache->connect('IP_Adresiniz', 11211) or die ("Sunucuya Baglanilamiyor...");
Bağlantıyı kontrol edelim. Eğer “Suncuya bağlanılamıyor” hatası geliyorsa, bir sorun var demektir. Kurulum evresini baştan yapmalısınız.
Bağlantı tamam mı? O halde ilk içeriği ekleyelim.
memcache_add($memcache, 'kodlab', 'İçerik Buraya girilecek. Boyut Önemli değil. '.date("d/m/Y H:i:s").'', false, 1800);
Burada, veritabanına “kodlab” anahtarıyla bir içerik ekledik. Ekrana şöyle yazdırması gerekiyor; “içerik buraya girilecek. Boyut önemli değil. 01/01/1970 00:00:00 (güncel tarih)”.
Peki bu veriyi ekrana nasıl yazdıracağız?
echo memcache_get($memcache, 'kodlab');
İşte bu kadar basit!
PHP.Net sayfasından, memcache ile ilgili delete, add, flush gibi diğer fonksiyonları görüntüleyebilirsiniz.
Memcache ile ilgili sorularınızı Kodlab’ın yeni Soru & Cevap sayfasından sorarsanız, en kısa sürede yardımcı olacağım!