Bu Kategoriye İçerik Girin veya Soru Sorun

Kategori İçi Sözlük

Bu Sayfayı Paylaş:

Danga Interactive Memcached Memcached'in Veritabanı İle Kullanım Algoritm.. memcached - Dağıtımlı (distributed) önbellek .. Memcached Server Çalıştırılması Memcached Web Sitesi PHP İçin Memcache Manual'i PHP ile Yazılmış Memcached Örneği spymemcached Client Kütüphanesi spymemcached ile ElastiCache Memcached Örneği

Memcached

Tanım: Danga Intewractive tarafından geliştirilmiş Dağıtık Cache sistemi. Bir veya birden fazla server üzerinde nesneleri cache'te saklamak için kullanılan sistem.

spymemcached ile ElastiCache Memcached Örneği

Aşağıda spymemcached client kütüphanesi ile memcached server'ına (AWS Elasticache) bağlanma örneği bulunmaktadır : 

MemcachedClient c=new MemcachedClient(AddrUtil.getAddresses(
	"defaultcache.xyx.0001.use1.cache.amazonaws.com:11211" +
	" defaultcache.xyx.0002.use1.cache.amazonaws.com:11211"));
c.set("someKey", 3600, new String("Hello Cache"));
Object myObject=c.get("someKey");
System.out.println(myObject);

İki memcached node'u bulunmaktadır bu nedenle iki cache server'ı kullanılmıştır. Cache'e someKey adında bir nesne atılıyor ve daha sonra okunup ekrana basılıyor. 


PHP ile Yazılmış Memcached Örneği

PHP ile Memcached'e veri yazılması ve okunması ile ilgili örnek : 

<?php

$memcache = memcache_connect('localhost', 11211);

if ($memcache) {
        $memcache->set("str_key", "String to store in memcached");
        $memcache->set("num_key", 123);

        $object = new StdClass;
        $object->attribute = 'test';
        $memcache->set("obj_key", $object);

        $array = Array('assoc'=>123, 345, 567);
        $memcache->set("arr_key", $array);

        var_dump($memcache->get('str_key'));
        var_dump($memcache->get('num_key'));
        var_dump($memcache->get('obj_key'));
}
else {
        echo "Connection to memcached failed";
}
?>

Localhost'taki memcached server'ına bağlanılmakta ve str_key , num_key ve obj_key şeklinde farklı nesne tipleri cache'e atılıp geri alınmaktadır. 


Memcached'in Veritabanı İle Kullanım Algoritmasını Gösteren Örnek

Aşağıda Memcached'in veritabanı ile nasıl kullanılabileceğini gösteren algoritma gösterilmektedir :

function get_foo(foo_id)
    foo = memcached_get("foo:" . foo_id)
    return foo if defined foo

    foo = fetch_foo_from_database(foo_id)
    memcached_set("foo:" . foo_id, foo)
    return foo
end

get_foo fonksiyonu parametre olarak foo_id ile bir id değeri almaktadır. İlk önce bu foo_id ile cache'te değerin olup olmadığı kontrol edilir. Eğer cache'te var ise cache'teki değer döndrülür. Eğer cache'te yok ise fetch_foo_from_database fonksiyonu ile değer veritabanından çekilir ve sonra cache'e atılır. Bundan sonraki çağrımlarda veri cache'ten verilecektir. İstenirse bir değer cache'e koyulma sırasında bir expire süresi (kullanım sürsinin dolması)  verilebilir. Bu expire zamanı kadar zaman geçince değer cache'ten temizlenir ve bu şekilde cache'teki veri güncel olması sağlanır. 


Memcached Server Çalıştırılması

Memcached aşağıdaki gibi çalıştırılmaktadır : 

# ./memcached -d -m 2048 -l 192.168.43.47 -p 11211

Bu komutta verilen parametre değerleri aşağıdaki gibidir : 

-d : deamon olarak çalış. (deamon : akra planda çalışacak process/uygulama)
-m 2048  : En fazla 2 GB Ram
-l 192.168.43.4 7: Çalıştığı server'ın IP'si
-p 11211: çalıştığı port

Not : Yukarıdaki bilgi için http://ilkinbalkanay.blogspot.com/2008/02/memcached-datml-distributed-nbellek.html sitesinden yararlanılmıştır. 


Danga Interactive


memcached, Mogile FS gibi ürünleri geliştiren kurum.
Kaynağa Gitmek İçin Tıklayınız

Memcached Web Sitesi


Memcached ile ilgili bilgi, mail listesi , bug raporları vs.. olduğu memcached'in resmi sitesi
Kaynağa Gitmek İçin Tıklayınız

spymemcached Client Kütüphanesi


Java ile yazılmış Memcached server'larına bağlanmaya yarayan client projesi
Kaynağa Gitmek İçin Tıklayınız

memcached - Dağıtımlı (distributed) önbellek sistemi


ilkinbalkanay.blogspot.com sitesindeki Memcached hakkında bilgi sağlayan yazı.
Kaynağa Gitmek İçin Tıklayınız

PHP İçin Memcache Manual'i


Memcached'in Linux üzerinde kurulması ve PHP ile kullanılması için gerekli bilgilerin anlatıldığı yardım sayfaları
Kaynağa Gitmek İçin Tıklayınız

Danga Interactive Memcached Memcached'in Veritabanı İle Kullanım Algoritm.. memcached - Dağıtımlı (distributed) önbellek .. Memcached Server Çalıştırılması Memcached Web Sitesi PHP İçin Memcache Manual'i PHP ile Yazılmış Memcached Örneği spymemcached Client Kütüphanesi spymemcached ile ElastiCache Memcached Örneği



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir