Merih Forum Programlama ve yazılım algoritmalar programlama c# c++ C# ile Memcached Kullanımı ve Örnek

ABD Münbiçi bırakır mı ?

ABD, Münbiçin yarısı sizde yarısı bizde kalsın dedi

SON 20 YILDA OSCAR KAZANAN KADINLAR

Son 20 yılda En İyi Kadın Oyuncu kategorisinde Oscar kazanan oyuncuların listesi...

AFRİN HAREKATI

Zeytin Dalı Harekatında teröristlerden temizlenen bölge artıyor

SILKROAD XIAN SERVER

2017 de açılan Xian server ilginç özelliklerde

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
C# ile Memcached Kullanımı ve Örnek

 
#1

1495045329.png


Açık kaynak kodlu bir yazılım olan Memcached, istemci-sunucu mimarisini kullanmaktadır veriler anahtar değer şeklinde ilişkisel diziler halinde saklama...

Merhaba arkadaşlar bu makalede son zamanlarda yoğun olarak üzerinde durduğum NoSql veritabanlarından biri olan Memcached ile ilgili temel bilgiler verip bir örnek paylaşacağım. Daha önceki MongoDB makalesini ve Redis makalesini buradaki linklerden inceleyebilirsiniz. Memcached ilk olarak 22 Mayıs 2003 tarihinde Brad Fitzpatrick tarafından kendi websitesi olan LiveJournal için geliştirilmiştir. Başlangıçta Perl dili ile yazılmış sonradan C diline çevrilmiştir. Genellikle web sayfalarının html çıktılarını önbelleğe alıp statik hale getirerek hızlandırmak ya da veritabanı sorgu sonuçlarını cache'e alıp veritanına destek olmak için kullanılır. Tamamen RAM'den çalıştığı için ve verileri diske yazmadığı için oldukça hızlı çalışır eğer amacı dahilinde kullanırsanız bunun pek bir dezavantajı yoktur fakat önemli verilerinizi depolamak isterseniz ciddi problemlerle karşılaşabilirsiniz sununun herhangi bir sebepten kapanması ya da en azından server uygulamasının kapanması kilitlenmesi durumunda verileriniz uçar.

Açık kaynak kodlu bir yazılım olan Memcached, istemci-sunucu mimarisini kullanmaktadır veriler anahtar değer şeklinde ilişkisel diziler halinde saklanır. Anahtar maksimum 250 bayt değerler ise 1 megabayt uzunluğunda olabilir. x86 mimarisinde maks. 4 GB, x64 de ise maks 16 milyon terabayt veriyi bellekte tutabilirsiniz. Bunun yanında PHP, Perl, C# gibi popüler programlama dilleri ile kullanılabilir. Şimdi C# ile bir örnek yapalım. Bu örnek Visual Studio 2012 de yapılmıştır.

Öncelikle buradaki adresten windows için Memcached Server uygulamasını indirin. Zip içerisinde memcached.exe isimli uygulamayı çalıştırın. Bu işlemle Sunucu default olarak 11211 portundan hizmet vermeye başladı. Yeni bir Console uygulaması açın Nuget ile EnyimMemcached paketini indirin. Package Manager ile Install-Package EnyimMemcached komunutunu kullanarak da indirebilirsiniz.

C#

Kod:
using Enyim.Caching;
using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;

public class Class1
{
    public static void Main()
    {
        MemcachedClientConfiguration config = new MemcachedClientConfiguration();
        config.AddServer("127.0.0.1", 11211);
        config.Protocol = MemcachedProtocol.Binary;
        MemcachedClient client = new MemcachedClient(config);

    }
}



Veri depolamak için Store metodunu kullanabilirsiniz. Bu örnekte Person isimli bir nesneyi depolayacağız. Key olarak kisi değerini kullandık.

C#

Kod:
public class Class1 {
   public static void Main() {
       MemcachedClientConfiguration config = new MemcachedClientConfiguration();
       config.AddServer("127.0.0.1", 11211);
       config.Protocol = MemcachedProtocol.Binary;
       MemcachedClient client = new MemcachedClient(config);

       bool result = client.Store(StoreMode.Set, "kisi", new Person {
           Name = "Tayyip",
           Age = 27
       });
   }
}

[Serializable]
class Person {
   public string Name { get; set; }
   public int Age { get; set; }
}



Depoladığınız veriyi sorgulamak için Get metodunu kulllanabilirsiniz.

C#

Kod:
public static void Main()
{
   MemcachedClientConfiguration config = new MemcachedClientConfiguration();
   config.AddServer("127.0.0.1", 11211);
   config.Protocol = MemcachedProtocol.Binary;
   MemcachedClient client = new MemcachedClient(config);

   bool result = client.Store(StoreMode.Set, "kisi", new Person { Name = "Tayyip", Age = 21 });

   Person value = client.Get("kisi");
}


 
memcached2324.png

Liste halinde verilerinizi de yukarıdaki gibi tutabilirsiniz. 1.000.000 adet veriniz var ise bunları ayrı key ler halinde değil de tek bir key içinde tutabilirsiniz.

C#

Kod:
public static void Main()
{
   MemcachedClientConfiguration config = new MemcachedClientConfiguration();
   config.AddServer("127.0.0.1", 11211);
   config.Protocol = MemcachedProtocol.Binary;
   MemcachedClient client = new MemcachedClient(config);

   List kisiler = new List()
   {
       new Person { Name = "Mustafa", Age = 21 },
       new Person { Name = "Tayyip", Age = 54 },
       new Person { Name = "Yetiş", Age = 23 }
   };
   bool result = client.Store(StoreMode.Set, "kisiler", kisiler);

   List<Person> value = client.Get<List<Person>>("kisiler");
}



Veriyi silmek için klasik Remove komutunu kullanabilirsiniz.

C#

Kod:
bool result = client.Remove("kisi");


Memcached ile ilgili şimdilik bu örnek yeterli. Temel veri ekleme, silme işlemlerini gerçekleştirdik. Güncelleme işlemi için aynı key i tekrar Set edebilirsiniz.



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  C# File Info Sınıfı Kullanımı sempatik141 0 697 11-06-2017, Saat: 22:26
Son Yorum: sempatik141
  CSharp JSON Kullanımı selami 0 808 30-05-2017, Saat: 15:21
Son Yorum: selami
  C# String Format ve İnitializer Kullanımı comrate 0 750 24-04-2017, Saat: 12:50
Son Yorum: comrate

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2018 Tüm hakları saklıdır.