Tutorial No-SQL : Penggunaan Memcached di PHP 8 pada Windows 10
![]() |
Implementasi Memcached di PHP 8 Pada Windows 10 Dengan Mudah |
Memcached merupakan kerangka caching objek yang pada dasarnya digunakan untuk menyimpan basis data dan mempercepat aplikasi web dinamis dengan mengurangi panggilan ke database secara signifikan.
Memcached bekerja sebagai semacam hash atau array asosiasi yang dapat menyimpan data berupa string, integer atau bahkan object. Data hash ini disimpan didalam memori komputer (RAM) hingga sangat cepat untuk diakses.
Perlu diketahui sebelumnya bahwa hash berfungsi untuk menjadi identitas atau semacam key dari suatu data, hash ini dapat diimplementasikan untuk data berapapun panjangnya dan menghasilkan ukuran/panjang yang tetap.
Misal kita melakukan query ke database untuk mengambil daftar pekerja (workerslist) si A yang berjumlah ribuan atau jutaan pekerja, kita akan mengambil data dari database dan menyimpannya dalam memcached, lalu ketika query berikutnya untuk mengambil daftar workerslist si A maka data tersebut akan diambil dari memcached sehingga tidak akan memberatkan database server.
Seperti kerja pada RAM komputer, data yang telah tersimpan sementara di RAM tidak perlu diambil lagi dari dalam hardisk karena akan memakan waktu akses data yang lebih lama.
Sekarang mari kita coba implementasikan memcached di php, namun sebelumnya kita pastikan terlebih dahulu apakah kita telah menginstal Memcached, apabila belum maka anda dapat lihat panduannya pada link Instal Memcached di PHP 8 pada Windows 10 dengan Mudah
1. Jalankan aplikasi memcached dengan akses administrator, apabila anda belum memilikinya, anda dapat unduh pada link berikut :
32bit : https://drive.google.com/file/d/1l7cnk6sOEy2CgOTIQddZ-Nxxia44QiNQ/view?usp=sharing
64bit : https://drive.google.com/file/d/1ogeY0EVOLl_Ee6dn08SQ0w9N-b_TKTYj/view?usp=sharing
menggunakan command line, anda dapat menggunakan perintah berikut:
c:\memcached\memcached.exe -d install
Untuk START dan STOP jalankan mengikuti baris perintah:
c:\memcached\memcached.exe -d start
c:\memcached\memcached.exe -d stop
2. Buat file baru dengan nama post.php dengan script sebagai berikut
<?php
//koneksi ke memcahce
$mem = new Memcached();
$mem->addServer('127.0.0.1',11211) or die ("Could not connect");
$data = array(
array(12075255,"anton","anton.hrc@gmail.com"),
array(11111111,"xxxxx","xxxxx@gmail.com")
);
$key = md5("12075255");
//simpan ke cache
$mem->set($key, $data);
echo "data berhasil di simpan di memchaced <br>";
var_dump($data);
?>
code di atas digunakan untuk menyimpan data ke server memcached ($memcache->set($key, $data);). pada kode memcache->set mirip dengan memcache->add akan tetapi dalam pengoperasiannya akan mengalami kegagalan apabila key sudah ada di server.
3. Buat file dengan nama get.php dengan isi script berikut
<?php
//koneksi ke memcahce
$mem = new Memcached();
$mem->addServer('127.0.0.1',11211) or die ("Could not connect");
$key = md5("12075255");
//Ambil dari cache
$data = $mem->get($key);
echo "Data dari cache : <br>";
$tampil ="";
if(is_array($data)){
echo "<table border='1'>";
foreach ($data as $dt){
echo "<tr>";
foreach ($dt as $dtx){
echo "<td>" . $dtx . "</td>";
}
echo "</tr>";
}
echo "</table>";
}
?>
code di atas digunakan untuk menampilkan data dari cache. Memcached->get() mengembalikan item yang sebelumnya disimpan di dalam key. Jika item ditemukan dan flag diberikan Memcached->GET_EXTENDED, ini juga akan mengembalikan nilai token untuk item tersebut. Hal-hal lain yang berkaitan dengan ini dapat anda lihat pada dokumentasi memcached di https://www.php.net/manual/en/book.memcached.php atau bagi pengguna PHP 7 di https://www.php.net/manual/en/book.memcache.php
4. Untuk menghapus data dari cache, maka kita gunakan script $memcache->delete($key);
Buat file ini dengan nama delcache.php
<?php
//koneksi ke memcahce
$mem = new Memcached();
$mem->addServer('127.0.0.1',11211) or die ("Could not connect");
$key = md5("12075255");
$mem->delete($key);
echo "Data cache di hapus";
?>
Sampai disini, mari kita jalankan aplikasinya
Silahkan dikreasikan sesuai kebutuhan. Perbedaan versi memcached bisa berakibat kegagalan pada saat proses migrasi data ke dalam memory/cache dan saya mengalami hal itu pada beberapa komputer. Jadi, silahkan baca dokumentasi PHP mengenai memcache ini di https://www.php.net/manual/en/class.memcached.php