Memcached

Memcached, yüksek performanslı dağıtık bellek içi key-value önbellek sistemidir. 2003'te LiveJournal için geliştirilmiştir. Sadece string veri tipi destekler, persistence yoktur. Basit ve hafif olması nedeniyle ölçeklenebilir web uygulamalarında Redis alternatifi olarak kullanılır.

Memcached Nedir?

Memcached, 2003'te Brad Fitzpatrick tarafından LiveJournal için geliştirilen, bellek içi çalışan dağıtık yüksek performanslı key-value cache sistemidir. Tek amaçlıdır: veritabanı ve API çağrılarının sonuçlarını RAM'de önbellekleyerek uygulama performansını artırmak. Basit protokolü ve düşük overhead'i ile hala yaygın kullanılır.

Memcached'in Özellikleri

  • Bellek içi saklama — mikrosaniye yanıt
  • Dağıtık — birden fazla sunucuda çalışabilir
  • Basit protokol — TCP üzerinden text ya da binary
  • LRU (Least Recently Used) eviction
  • Multi-threaded (tek process, çoklu thread)
  • Çok dilli client desteği (PHP, Python, Node.js, Ruby, Go)

Memcached vs Redis

  • Veri yapıları: Memcached sadece string, Redis 10+ veri tipi
  • Persistence: Memcached yok, Redis opsiyonel
  • Replication: Memcached yok, Redis var
  • Cluster: Memcached client-side, Redis native
  • Pub/Sub: Memcached yok, Redis var
  • Bellek verimliliği: Memcached daha az overhead
  • Multi-thread: Memcached var, Redis 6'ya kadar tek thread
  • Basitlik: Memcached daha basit, Redis daha zengin

Ne Zaman Memcached?

  • Sadece basit string cache gerektiğinde
  • Düşük kaynak kullanımı hedeflendiğinde
  • Persistence gerekmediğinde (pure cache)
  • Dağıtık node'ların sharding yaptığı ortamlarda

Ne Zaman Redis?

  • Zengin veri yapıları gerektiğinde
  • Persistence ihtiyacı varsa
  • Queue, pub/sub gerektiğinde
  • Session store olarak
  • Leaderboard, rate limit kullanım

Temel Komutlar

  • set key value [ttl]
  • get key
  • delete key
  • incr key, decr key
  • flush_all — tümünü sil
  • stats — istatistikler

WordPress ile Kullanım

WordPress'te W3 Total Cache veya WP Object Cache eklentisi ile Memcached entegrasyonu yapılır. Database query cache ve object cache olarak kullanılır.

Güvenlik

  • Port 11211'i sadece localhost veya iç networkte aç
  • SASL authentication aktif (Memcached 1.4.3+)
  • Firewall ile dış erişimi engelle
  • DDoS amplification saldırılarına karşı UDP'yi kapat

MeoHost ve Memcached

MeoHost VDS ve dedicated sunucularda Memcached kurulumu isteğe bağlı sunulur. WordPress Premium Hosting paketlerinde Redis varsayılan olarak tercih edilir — daha modern ve zengin özellikleri nedeniyle.

İlgili Terimler