Memcached Nedir, sorusuna kısaca cevap vermek gerekirse; açık kaynak kodlu, çoklu sunucuda çalışabilen, hafıza tabanlı bir veri önbellekleme sistemidir. Facebook, YouTube, Twitter ve Reddit gibi neredeyse tüm büyük platformlarda bu önbellekleme sistemi kullanılmaktadır.
Memcached, web uygulamaları başta olmak üzere veritabanı sorguları ve XML verilerini hızlı bir şekilde okumak, saklamak ve çağırmak için kullanılmaktadır. Özellikle yüksek trafikli web siteleri için yüksek performans sunduğu içinde birçok Web Hosting şirketi tarafından kullanılmaktadır.
İçerik Tablosu
Memcached ne işe yarar?
Memcached, verileri kullanılabilir bellek boyutuna göre işlediği için bu verilerin hızlı bir şekilde erişebilir hale getirilmesini sağlayarak veri tabanlarının yüklerini azaltmaktadır. Bu özelliklerinden dolayı da;
- YouTube,
- Facebook,
- Slashdot,
- Wikipedia,
- Sourceforge
- Twitter ve Reddit gibi platformlarda tercih edilmektedir.
Dünyadaki en büyük mem kullanımı, Facebook’dadır. Hali hazırda şirket, Mem’in resmi geliştiricilerinden biri olmuştur.
guru – eksisozluk kullanıcısı
Memcached Kurulumu – cPanel
Alma Linux, Rocky Linux, Ubuntu gibi işletim sistemlerinde bu önbellekleme çalışabilmektedir. Paketi yükledikten emin olduktan sonra;
apt install -y ea-podman-repo
apt update
apt install -y ea-podman ea-memcached16
kodunu çalıştırın. Ardından, cPanel kullanıcısı olarak SSH’de oturum açtıktan sonra;
/usr/local/cpanel/scripts/ea-podman install ea-memcached16
dizinine ulaşın. Mem soket dosyası içeren kapsayıcı adına sahip bir dizin oluşturun;
~/ea-podman.d/container-name/memcached.sock
Bu soket dosyası, uygulamanızı Mem konumu olarak kullanması için yönlendireceğiniz dosyadır.
Unutulmaması gerekiyor ki, performans kaybı yaşanmaması için MEM’de herhangi bir authentication/authorization mekanızmasının olmaması gerekmektedir. Mem sunucusunun dinlediği porta erişebilen herkes, eğer key adını biliyorsa içeriğini de ulaşabilir.
guru – eksisozluk kullanıcısı
Memcached Kurulumu – Debian
Öncelikle;
sudo apt update
sudo apt install memcached
yukarıdaki kodları Terminal’a girin. Uzak bağlantının kapalı olması gerektiği için aşağıdaki işlemi yapmayı unutmayın.
-l 127.0.0.1
Unutmamakta fayda var, güvenlik sebebiyle dışarı açmak büyük risk taşır. Yönetim amacıyla açılacaksa sabit ip ile whitelisting yapmalı ve güvenliğini sağlamalıyız.
systemctl restart memcached
Ardından netstat -tolpn komutu ile 11211 portundan servisin çalışıp çalışmadığına emin olunuz.
root@debian:~# netstat -tolpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name Timer
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 21131/memcached off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 530/sshd off (0.00/0/0)
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 17396/exim4 off (0.00/0/0)
tcp6 0 0 :::22 :::* LISTEN 530/sshd off (0.00/0/0)
tcp6 0 0 ::1:25 :::* LISTEN 17396/exim4 off (0.00/0/0)
Anlatım için Mertcan Gökgöz’e teşekkürler.

Memcached ve Redis Arasındaki Farklar Nelerdir?
Memcached ve Redis, veri önbellekleme sistemleri olarak kullanılabilen iki farklı araçtır. Ancak, ikisi de farklı işlevler sunar ve farklı kullanım senaryoları için optimize edilmiştir.
- Veri tipi desteği: Redis, daha geniş bir veri tipi desteğine sahiptir ve verileri çeşitli şekillerde depolayabilir: string, hash, liste, küme, zincir, bit haritası vb. Öte yandan, Memcached, sadece anahtar-değer çiftleri olarak depolanan verileri destekler.
- Süreklilik: Redis, verilerin diske yazılmasını (persistence) destekler ve bu verileri kalıcı hale getirir. Bu, verilerin sunucu kapatıldığında ya da başka bir sorunla kaybı durumunda korunmasını sağlar. Memcached ise, verileri sadece bellekte saklar ve sunucu kapatıldığında verilerin kaybolduğu bir sistemdir.
- Replikasyon: Redis, verilerin replikasyonunu (yedekleme) destekler ve bu verilerin birden fazla sunucuda yedeklenmesini sağlar. Diğeri ise replikasyon desteği yoktur.
- Fonksiyonel özellikler: Redis, verilerin zaman aşımı (expiration), pub/sub mesajlaşma sistemi, Lua script desteği gibi ek fonksiyonel özelliklere sahiptir. Diğeri ise bu tür ek fonksiyonaliteleri desteklememektedir.
- Performans: Her ikisi de yüksek performanslı araçlar olsa da, bellek tabanlı önbellekleme için optimize edilen Mem, yalnızca anahtar-değer verileri için en yüksek performansı sunar. Redis ise, daha fazla veri tipi desteği ve fonksiyonel özellikler sunmasına rağmen, daha yavaş bir performans sunabilir.
Genel olarak, Mem, hızlı ve etkili anahtar-değer veri önbellekleme için uygundur, ancak daha fazla veri tipi desteği ve fonksiyonel özellikler gereksinimi olan kullanıcılar için Redis daha uygundur.

Memcached Object Cache nedir?
Memcached Object Cache, WordPress gibi bir web uygulamasında, veritabanından verilerin bellekte depolanmasını ve hızlı erişilmesini sağlayan bir önbellek sistemidir. WordPress, her sayfa yüklenirken veritabanından verileri çekmek zorundadır, ancak bu işlem yavaş ve zaman alıcıdır. İşte bu noktada, Mem Object Cache devreye girer ve veritabanından çekilen verileri bellekte saklar. Böylece, bir sonraki sayfa yüklemesinde bu veriler hızlı bir şekilde erişilebilir ve sayfa yükleme süresi hızlandırılabilir.
Ayrıca, Mem Object Cache, verilerin çoklu sunucu arasında senkronize edilmesine olanak tanır, böylece veritabanındaki değişiklikler anında tüm sunucular tarafından görülebilir. Bu, veritabanındaki yükü azaltır ve uygulamanın performansını artırır.
Mem Object Cache, WordPress gibi bir web uygulamasının performansını ve hızını artırma potansiyeli bakımından çok önemlidir ve önerilen bir önbellek sistemidir.
Eğer bağlantı testini geçti (yeşil yazı ile yazar) ibaresi mevcut değilse sunucunuzda Mem desteği yoktur. Bu yüzden de bu fonksiyonu açmanız büyük oranda işinize yaramayacaktır.
– Doğukan KOZBA
WordPress’de yer alan Litespeed Cache eklentisinin detayları WordPress Site Hızlandırma başlıklı yazımızda anlatılmıştır. Bu konuyla bağlantılı olarak; cPanel PHP Sürümü Değiştirme ve Mod Security Nedir sorularının cevaplarını da ilgili içeriğimizde bulabilirsiniz.