Memcache in Telnet ile kullanımı

Memcache’in telnet üzerinden kullanımı.
Linux işletim sisteminde de ps -ef komutuyla memcache’in hangi porttan çalıştığını görebilirsiniz.

Memcache başlamadıysa konsoldan

memcached -m 128 -l localhost -p 11211 -d -u nobody

yazarak başlatabilirsiniz. (bu kod 128 MB ram ile 11211. porttan, nobody olarak çalıştırır.)
Yine konsoldan

telnet localhost 11211 

yazarak bağlanınız.

Supported Commands

Example
get deneme //varsa deneme adlı memcache verisini getirir.
set deneme 0 60 5 //koşulsuz olarak deneme verisini set eder
add deneme 0 60 5 // deneme adlı yeni bir key oluşturur.
replace deneme 0 60 5 // deneme verisinin yerine yenisini yazar.

append deneme 0 60 15 // deneme key’inin sonuna veri ekler
prepend deneme 0 60 15 // deneme key’inin başına veri ekler
incr deneme 2 // değeri sayısal olarak verilmiş deneme değerinin değerini 2 artırır.
decr deneme 5 // değeri sayısal olarak verilmiş deneme değerinin değerini 5 azaltır.
delete deneme // deneme adlı key i siler.

flush_all // bütün belleği boşaltır.
flush_all 900 // 900 saniye içindeki tüm verileri boşaltır.

stats // genel istatistikleri basar.
stats slabs // bellek istatistiklerini basar.
stats malloc // bellek istatistiklerini basar.

stats items
stats details
stats sizes // daha yüksek seviyeli atama istatisiklerini basar.
stats reset // istatistikleri sıfırlar.
version // versiyonu basar.
verbosity // loglama seviyesini artırır.
quit // telnet oturumunu kapatır.

Bunlardan benim telnetten en sık kullandıklarım flush_all ve stats’dır. Diğer konulardaki işlemleri ilgili yazılım dillerinde yaptığımızdan, sadece istatistikleri görmek (kaç istek var kaçı memcacheten okudu, kaçında isabet var vb.. gibi..) benim için telnetten yeterli olabiliyor. Veri set etme ve replace etme olaylarını ben deneme hariç kullanmadım diyebilirim. Yine de ihtiyaç duyulabilir ve kullanılabilir.

Windows Memcache Kurulumu (Windows 7 Dahil)

Memcache modülünün Windows üzerinde çalışan php-apache üzerine kurulması :

  1. Php extensions klasörünü kontrol edin. C:\php\ext gibi bir şey olması gerekiyor. (Wamp kullanıyorsanız c:/wamp/bin/php/php5.3.4/ext gibi bir şeydir.)
    Bu klasörün içinde php_memcache.dll adlı dosyanın olup olmadığına bakın. Yoksa bu dosyayı bir şekilde edinin. Buradan indirebilrisiniz isterseniz : http://downloads.php.net/pierre/php_memcache-2.2.6-5.3-nts-vc9-x86.zip
  2. Şimdi sistemde kullanılan php.ini dosyanızı bulun. wamp için wamp klasöründe bir yerlerde oluyor. Sağ alttaki wamp simgesine tıklayıp orada php kısmında php.ini ye basınca gelen dosyadır.
    bu dosyanın sonuna bir yere yeni bir satırda
    extension=php_memcache.dll yazın kaydedin.
  3. Apache nizi restart edin.
  4. memcached.exe yi çalıştırın. Buradan edinebilirsiniz : http://www.splinedancer.com/memcached-win32/
    Normalde, memcached.org adresinde de var fakat, compile edilmemiş hali var ve compile etmek için bir sürü teane gerekiyor. İsterseniz oradan kurun.
    Memcached.exe çalışınca bir siyah pencere açılacak ve orada kalıcak, anormal bişey yok, (servis olarak arka planda çalıştırmak ile farkı yok, birazdan onu da anlatacağım.)
  5. Aşağıdaki kodu çalıştırın
    < ?php
              $memcache = new Memcache;
              $memcache->connect("localhost",11211); # varsayılan ayar olarak memcache 11211 protu kullanır. belki localhost yerine 127.0.0.1 yazmanız gerekebilir.
    
              echo "Memcache versiyonu: " . $memcache->getVersion() . "
    \n"; $tmp_object = new stdClass; $tmp_object->str_attr = "test"; $tmp_object->int_attr = 123; $memcache->set("key",$tmp_object,false,60); echo "Veriyi cache'te sakla.(Veri 60 saniye boyunca cachete tutulacak.)
    \n"; echo "cacheten okuduğum değer :
    \n"; var_dump($memcache->get("key")); ?>
  6. Ekrana hata yerine yukarıdaki şeyleri görüyorsanız, memcache’iniz çalışıyor demektir.
    Memcacheinizi denemenizin bir diğer yolu da telnet üzerinden bağlanmaktır. (windowsunuzda telnet hizmetini aktif etmeniz gerekiyor, eğer açık değilse, bu konuyu zorlaştırmamak için burada anlatmıyorum.)
    cmd’den

    telnet localhost 11211 
    

    diyeceksiniz. Bağlanırsa, tamam çalışıyordur. (Telnetten memcahce kullanabilemk için de ilgili parametreler vb ile ilgili bir yazı ekleyeceğim)

  7. Extra not : memcached.exe yi arka planda çalışan servis olarak çalıştırmak için cmd yi yönetici yetkisiyle çalıştırın. (ctrl+shift+click).
    Daha sonra

    c:/memcachein_bulunudugu_dizin/memcached.exe -d install
    c:/memcachein_bulunudugu_dizin/memcached.exe -d start
    

Ve windowsunuza memcache kurdunuz. Şimdi yapmanız gereken bir kaç uygulama geliştirip, memcache’in avantajlarını keşfetmek. Memcache günümüzde bir çok büyük firma site vb tarafından stabil bir şekilde kullanılıyor. Bunlara da başka bir yazıda değinmek dileğiyle.

Önemli Not : Php 5.3 te biraz araştırdım ama çalışan bir workbench oluşturamadım. Yapan olursa paylaşmasını rica ederim.

Putty 0.61 Çıktı

Putty SSH Telnet client’in yeni versiyonu çıktı. Çeşitli bug fixleri ve geliştirmeleri içeren yeni versiyonda, açıkçası ben pek bir değişiklik göremedim. (35 saniye içerisinde ne görebiliyorsam artık.. 🙂 )

Yine de buradan indiriniz, yenilik iyidir.

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html