Mengenal Memcached, Sistem Caching Terdistribusi

Mengenal Memcached, Sistem Caching Terdistribusi

Mungkin kamu sering mendengar istilah Memcached, tapi kamu tahu apa itu. Pada post kali ini saya akan membahas mengenai Memcached.

Apa Itu Memcached?

Memcached pertama kali dikembangkan oleh Brad Fitzpatrick, pada 22 Mei 2003, kemudian ditulis ulang di C oleh Anatoly Vorobey.

Memcached merupakan sistem caching distributed memory object berkinerja tinggi yang bisa digunakan gratis dan open source. Tujuannya adalah untuk mengurangi beban database pada aplikasi web dinamis.

Ada dua metode lain untuk mengolola cache, seperti: APC (sistem caching yang tidak terdistribusi) dan Redis (Redis lebih baik daripada Memcached).

Arsitektur

  1. Sistem menggunakan arsitektur client-server.
  2. Server mengelola key-value associative array.
  3. Key dapat memiliki panjang hingga 250 bytes dan value dapat memiliki ukuran hingga 1 megabyte.
  4. Port default 11211.
  5. Server menyimpan value di RAM. Jika server kehabisan RAM, akan menghapus value yang lama.
  6. Jika semua client library menggunakan algoritma hashing yang sama untuk menentukan server, maka client dapat membaca data cache sesamanya.

Keunggulan Menggunakan Memcached

  1. Memcached merupakan sistem memori terdistribusi.
  2. Data disimpan pada server.
  3. Module Memcached juga menyediakan session handler.
  4. Memcached dapat berjalan pada Unix, Linux, Windows dan Max OS X.
  5. Memcached dapat memberikan kompensasi untuk properti ACID yang habis dan tidak pernah memblokirnya.
  6. Memcache cross-platform.
  7. Cross-DBMS.
  8. Murah.

Kekurangan Menggunakan Memcached

  1. Tidak mendukung data compile.
  2. Tidak banyak mendukung Dokumentasi.
  3. Jika instance server mamcache crash, object data yang disimpan didalam session akan hilang.
  4. Tidak ada ototentikasi yang dibangun pada Memcached.

Kapan Kita Menggunakan Memcached?

Kita harus mencari tahu query database mana yang paling sering atau paling banyak dikunjungi pengguna. Pada kasus ini, kitas harus menggunakan cache untuk menurunkan beban database.

Kapan Kita Tidak Menggunakan Memcached?

Tidak usah menggunakan pada data real time,
Tidak usah menggunakan pada database yang sering berubah dalam detik atau menit.

Contoh Memcached dengan PHP & MySQL:

$Memcached = new Memcached;

$Memcached->connect('localhost', 11211) or die ("Could not connect");
 
$cachedData = $Memcached->get("myFirstKey");
if($cachedData === false){
$dataArr = array();
$sql = "SELECT * FROM table WHERE 1";
$res = mysql_query($sql, $mysql_connection);
while($row = mysql_fetch_assoc($res)){
$dataArr[] = $row;
}
// cache for 10 minutes
$Memcached->set("myFirstKey", $dataArr, 0, 600);
}

 

Jakartawebhosting.com menyediakan layanan Web Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan dengan yang menarik.

You may also like...