0Pricing
PHP Academy · Pelajaran

Memcached untuk Caching Sesi dan Objek

Gunakan Memcached sebagai penyimpanan objek PHP terdistribusi dalam memori.

Memcached untuk Caching Sesi dan Objek adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.

Apa Itu Memcached?

Memcached adalah penyimpanan kunci-nilai dalam memori yang terdistribusi dan berperforma tinggi. Memcached banyak digunakan untuk menyimpan hasil kueri basis data dan data sesi dalam aplikasi PHP.

Menginstal

Instal server Memcached dan ekstensi PHP.

# Ubuntu/Debian:
$ apt install memcached php-memcached
$ service memcached start

# Verify:
$ php -m | grep memcached

Menghubungkan ke Memcached

Buat instans Memcached dan tambahkan satu atau beberapa server.

<?php
$mc = new Memcached();
$mc->addServer("127.0.0.1", 11211);

// Multiple servers (distributed caching):
$mc->addServers([
    ["192.168.1.10", 11211],
    ["192.168.1.11", 11211],
]);

Operasi Cache Dasar

Tetapkan, ambil, hapus, dan ganti entri cache.

<?php
// Set with TTL:
$mc->set("product:1", $productData, 600); // 10 min

// Get:
$product = $mc->get("product:1");
if ($mc->getResultCode() === Memcached::RES_NOTFOUND) {
    $product = fetchFromDB(1);
    $mc->set("product:1", $product, 600);
}

// Delete:
$mc->delete("product:1");

Penyimpanan Sesi dengan Memcached

Simpan sesi PHP di Memcached agar dapat diakses dengan cepat dan bersama-sama oleh beberapa server web.

# php.ini:
session.save_handler = memcached
session.save_path    = "127.0.0.1:11211"

Integrasi Memcached dengan Laravel

Konfigurasikan dan gunakan Memcached sebagai penggerak cache Laravel.

# .env
CACHE_DRIVER=memcached
MEMCACHED_HOST=127.0.0.1

// Usage is identical to Redis via Cache facade:
Cache::put("key", $value, 300);
$value = Cache::get("key");

Memcached dibandingkan dengan Redis

Memcached: lebih sederhana, mendukung banyak utas, sepenuhnya berada dalam memori (tanpa persistensi). Redis: tipe data lebih beragam, persistensi opsional (AOF/RDB), publikasi/berlangganan, dan kluster. Untuk cache murni, kinerja keduanya serupa. Redis umumnya lebih disukai untuk proyek baru.

Cache Terdistribusi

Memcached secara bawaan mendistribusikan kunci ke beberapa server menggunakan pencincangan konsisten. Cara ini memungkinkan penskalaan horizontal saat lalu lintas meningkat.

CAS Atomik (Bandingkan dan Tukar)

Memcached mendukung operasi CAS untuk memperbarui nilai dengan aman hanya jika tidak ada klien lain yang mengubahnya sejak terakhir kali Anda membacanya.

<?php
$mc->get("counter", null, $cas);
$mc->cas($cas, "counter", $newValue, 60);

Batas TTL

TTL Memcached dibatasi maksimal 30 hari. Nilai yang lebih besar dari sekitar 1 MB akan ditolak. Pertahankan nilai cache tetap kecil dan lakukan serialisasi secara efisien.

Pemantauan

Gunakan memcached-tool 127.0.0.1:11211 stats untuk memeriksa rasio hit, penggunaan memori, dan penghapusan entri. Rasio hit yang rendah atau jumlah penghapusan yang tinggi menunjukkan bahwa cache terlalu kecil.

Ringkasan

Memcached unggul untuk cache objek dan sesi terdistribusi yang sederhana. Dalam Laravel, tetapkan CACHE_DRIVER=memcached. Untuk penggunaan produksi dengan fitur yang lebih lengkap, pilih Redis.

Pemeriksaan Cepat

Apa salah satu perbedaan utama antara Memcached dan Redis?

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memcached untuk Caching Sesi dan Objek” gratis?

Ya — teks lengkap “Memcached untuk Caching Sesi dan Objek” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memcached untuk Caching Sesi dan Objek”?

Gunakan Memcached sebagai penyimpanan objek PHP terdistribusi dalam memori. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Memcached untuk Caching Sesi dan Objek” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa Caching Penting dalam PHP
  2. Redis sebagai Backend Cache PHP
  3. Memcached untuk Caching Sesi dan Objek
  4. Pola Invalidasi Cache
← Kembali ke PHP Academy