0Pricing
PHP Academy · Ders

Oturum ve Nesne Önbellekleme için Memcached

Memcached'i PHP nesneleri için dağıtık bellek içi depo olarak kullanın.

Oturum ve Nesne Önbellekleme için Memcached, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.

Memcached nedir?

Memcached, yüksek performanslı, dağıtık, bellek içi bir anahtar-değer deposudur. PHP uygulamalarında veritabanı sorgularının sonuçlarını ve oturum verilerini önbelleğe almak için yaygın olarak kullanılır.

Yükleme

Memcached sunucusunu ve PHP uzantısını yükleyiniz.

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

# Verify:
$ php -m | grep memcached

Memcached'e Bağlanma

Bir Memcached örneği oluşturup bir veya daha fazla sunucu ekleyiniz.

<?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],
]);

Temel Önbellek İşlemleri

Önbellek girdilerini ayarlayınız, getiriniz, siliniz ve değiştiriniz.

<?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");

Memcached ile Oturum Depolama

Birden çok web sunucusundan hızlı ve paylaşımlı erişim sağlamak için PHP oturumlarını Memcached'de depolayınız.

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

Laravel Memcached Entegrasyonu

Memcached'i Laravel'ın önbellek sürücüsü olarak yapılandırıp kullanınız.

# .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 ve Redis Karşılaştırması

Memcached: daha basit, çok iş parçacıklı ve tamamen bellek içidir (kalıcılık yoktur). Redis: daha zengin veri türleri, isteğe bağlı kalıcılık (AOF/RDB), yayınlama/abone olma ve küme desteği sunar. Yalnızca önbelleğe alma için ikisi de benzer performans gösterir. Yeni projelerde genellikle Redis tercih edilir.

Dağıtık Önbelleğe Alma

Memcached, tutarlı karma kullanarak anahtarları birden çok sunucuya yerel olarak dağıtır. Trafik arttıkça bu yapı yatay olarak ölçeklenir.

Atomik CAS (Karşılaştır ve Değiştir)

Memcached, bir değeri yalnızca son okumanızdan bu yana başka hiçbir istemci değiştirmediyse güvenli biçimde güncellemek için CAS işlemlerini destekler.

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

TTL Sınırları

Memcached TTL değeri en fazla 30 günle sınırlıdır. ~1 MB'tan büyük değerler reddedilir. Önbellek değerlerini küçük tutup verimli biçimde serileştiriniz.

İzleme

İsabet oranını, bellek kullanımını ve önbellekten çıkarma işlemlerini denetlemek için memcached-tool 127.0.0.1:11211 stats kullanınız. Düşük isabet oranı veya yüksek çıkarma sayısı, önbelleğin çok küçük olduğunu gösterir.

Özet

Memcached, basit dağıtık nesne ve oturum önbelleğe alma işlemlerinde başarılıdır. Laravel'da CACHE_DRIVER=memcached ayarlayınız. Üretim ortamında daha zengin özellikler için Redis'i tercih ediniz.

Hızlı Kontrol

Memcached ile Redis arasındaki temel farklardan biri nedir?

Sıkça Sorulan Sorular

“Oturum ve Nesne Önbellekleme için Memcached” dersi ücretsiz mi?

Evet — “Oturum ve Nesne Önbellekleme için Memcached” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.

“Oturum ve Nesne Önbellekleme için Memcached” dersinde ne öğreneceğim?

Memcached'i PHP nesneleri için dağıtık bellek içi depo olarak kullanın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Oturum ve Nesne Önbellekleme için Memcached” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. PHP'de Önbellekleme Neden Önemlidir
  2. PHP Önbellek Arka Ucu Olarak Redis
  3. Oturum ve Nesne Önbellekleme için Memcached
  4. Önbellek Geçersiz Kılma Düzenleri
← PHP Academy Sayfasına Dön