Memcached untuk Caching Sesi dan Objek
Gunakan Memcached sebagai stor teragih dalam memori untuk objek PHP.
Memcached untuk Caching Sesi dan Objek ialah pelajaran PHP Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PHP Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.
Apakah Memcached?
Memcached ialah stor pasangan kunci-nilai teragih dalam memori berprestasi tinggi. Ia digunakan secara meluas untuk menyimpan hasil kueri pangkalan data dan data sesi dalam aplikasi PHP.
Pemasangan
Pasang pelayan Memcached dan sambungan PHP.
# Ubuntu/Debian:
$ apt install memcached php-memcached
$ service memcached start
# Verify:
$ php -m | grep memcachedMenyambung ke Memcached
Cipta tika Memcached dan tambahkan satu atau lebih pelayan.
<?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 Asas
Tetapkan, dapatkan, padam dan gantikan 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 dalam Memcached untuk capaian pantas dan dikongsi merentasi berbilang pelayan web.
# php.ini:
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"Integrasi Memcached dengan Laravel
Konfigurasikan dan gunakan Memcached sebagai pemacu 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 berbanding Redis
Memcached: lebih ringkas, berbilang bebenang dan sepenuhnya dalam memori (tiada penyimpanan berterusan). Redis: jenis data lebih pelbagai, penyimpanan berterusan pilihan (AOF/RDB), penerbitan/langganan dan kluster. Untuk caching semata-mata, kedua-duanya memberikan prestasi yang serupa. Redis biasanya lebih disukai untuk projek baharu.
Caching Teragih
Memcached mengagihkan kunci secara terbina dalam merentasi berbilang pelayan menggunakan pencincangan konsisten. Ini membolehkan penskalaan mendatar apabila trafik meningkat.
CAS Atomik (Bandingkan dan Tukar)
Memcached menyokong operasi CAS untuk mengemas kini nilai dengan selamat hanya jika tiada klien lain mengubahnya sejak kali terakhir anda membacanya.
<?php
$mc->get("counter", null, $cas);
$mc->cas($cas, "counter", $newValue, 60);Had TTL
TTL Memcached dihadkan kepada maksimum 30 hari. Nilai yang lebih besar daripada kira-kira 1 MB akan ditolak. Pastikan nilai cache kecil dan disiri dengan cekap.
Pemantauan
Gunakan memcached-tool 127.0.0.1:11211 stats untuk menyemak kadar capaian, penggunaan memori dan pengusiran. Kadar capaian yang rendah atau jumlah pengusiran yang tinggi menunjukkan cache terlalu kecil.
Ringkasan
Memcached cemerlang dalam caching objek dan sesi teragih yang ringkas. Dalam Laravel, tetapkan CACHE_DRIVER=memcached. Untuk penggunaan produksi dengan ciri yang lebih pelbagai, pilih Redis.
Semakan Ringkas
Apakah satu perbezaan utama antara Memcached dengan Redis?
Pelajari PHP dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 49
- Pelajaran
- 195
Soalan Lazim
Adakah pelajaran “Memcached untuk Caching Sesi dan Objek” percuma?
Ya — teks penuh “Memcached untuk Caching Sesi dan Objek” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PHP Academy, tingkat taraf kepada CoddyKit PRO. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memcached untuk Caching Sesi dan Objek”?
Gunakan Memcached sebagai stor teragih dalam memori untuk objek PHP. Anda berlatih PHP Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan PHP Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran PHP Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Memcached untuk Caching Sesi dan Objek” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Kepentingan Caching dalam PHP
- Redis sebagai Bahagian Belakang Cache PHP
- Memcached untuk Caching Sesi dan Objek
- Corak Pembatalan Cache