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

Dota 2. MMR sıralamada Türkler

Tr bayraklı Neqroman sadece listeye 163. sıradan girebildi

ABD'nin terörist sevgisi

ABD'nin, terör örgütü PYD/PKK’ya DEAŞ ile mücadele adı altında askeri sevkiyatları sürüyor.

DOTA2 - 2017 THE INTERNATIONAL CHAMPIONSHIP

2017 yazında düzenlenen turnuvada Team Liquid şampiyon oldu

  • 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 339 11-06-2017, Saat: 22:26
Son Yorum: sempatik141
  CSharp JSON Kullanımı selami 0 398 30-05-2017, Saat: 15:21
Son Yorum: selami
  C# String Format ve İnitializer Kullanımı comrate 0 398 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-2017 Tüm hakları saklıdır.