Memcached Nedir ve Neden Kullanılır?
Merhaba! Bugün size, web uygulamalarınızda performansı artırmanıza yardımcı olacak bir araçtan bahsedeceğim: Memcached. Eğer veritabanı sorgularınızı hızlandırmak, belleğinizi daha verimli kullanmak ve site hızınızı artırmak istiyorsanız, Memcached tam size göre!
Memcached, verileri geçici olarak RAM'de depolayarak veritabanı erişimlerini en aza indirger. Bu da özellikle yoğun trafikli web sitelerinde büyük bir fark yaratır. Ama durun, önce kurulum adımlarına geçmeden önce biraz da Memcached'in ne olduğuna bakalım.
Memcached, bir bellek tabanlı veri saklama sistemidir. Web uygulamanızın sürekli olarak veritabanına başvurmasını engelleyerek, cache (önbellek) kullanımıyla performansınızı önemli ölçüde artırır. Şimdi gelin, Memcached'in gücünden nasıl faydalanabileceğimizi öğrenelim.
Memcached Kurulumuna Başlamadan Önce
Memcached’i kurmadan önce, Linux sunucunuzda root yetkilerine sahip olmanız gerektiğini unutmayın. Ayrıca, bazı Linux dağıtımları için yazılım paketleri hazır olduğundan, sadece yüklemekle kalmayıp hemen kullanmaya başlayabilirsiniz.
1. Adım: Gerekli Paketleri Yükleyin
İlk adımda, sisteminizdeki paket yöneticisini kullanarak Memcached ve onunla uyumlu olan PHP eklentisini yükleyeceğiz. Eğer Ubuntu veya Debian tabanlı bir sistem kullanıyorsanız, aşağıdaki komutları çalıştırarak kolayca yükleyebilirsiniz.
sudo apt update
sudo apt install memcached libmemcached-tools php-memcached
Bu komutlar, Memcached'i ve gerekli PHP eklentisini sisteminize yükler.
2. Adım: Memcached Servisini Başlatın
Memcached’in çalışabilmesi için servisi başlatmamız gerekiyor. Bunun için aşağıdaki komutu kullanabilirsiniz:
sudo systemctl start memcached
Servisin doğru çalıştığını kontrol etmek için şu komutu kullanabilirsiniz:
sudo systemctl status memcached
Eğer her şey yolunda giderse, Memcached’in çalıştığını belirten bir mesaj alırsınız.
3. Adım: Memcached’i Sistemle Başlatmak İçin Aktifleştirin
Memcached her sunucu yeniden başlatıldığında otomatik olarak çalışmasını istiyorsanız, servisi etkinleştirmeniz gerekir. Bunu şu komutla yapabilirsiniz:
sudo systemctl enable memcached
Bu komut, sunucu yeniden başlatıldığında Memcached’in otomatik olarak başlamasını sağlar.
4. Adım: Memcached’in Konfigürasyonunu Yapın
Memcached’i optimize etmek için konfigürasyon dosyasını düzenlemeniz gerekebilir. Bu dosya genellikle `/etc/memcached.conf` yolunda bulunur. Dosyayı düzenlemek için şu komutu çalıştırabilirsiniz:
sudo nano /etc/memcached.conf
Konfigürasyonda yapabileceğiniz birkaç önemli ayar şunlardır:
- Port: Memcached, default olarak 11211 portunu kullanır. Eğer farklı bir port kullanmak isterseniz, bu değeri değiştirebilirsiniz.
- RAM Boyutu: Bellek boyutunu `-m` parametresiyle belirleyebilirsiniz. Örneğin, `-m 512` komutu Memcached’e 512 MB bellek tahsis eder.
Konfigürasyon dosyasını kaydettikten sonra, Memcached servisini yeniden başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl restart memcached
5. Adım: Memcached ile Test Yapın
Memcached’in düzgün çalışıp çalışmadığını test etmek için aşağıdaki komutu kullanabilirsiniz:
telnet 127.0.0.1 11211
Eğer bağlantı başarılı olursa, aşağıdaki gibi bir cevap alırsınız:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
statsBuradan çeşitli istatistiklere erişebilirsiniz.
6. Adım: PHP ile Memcached’i Kullanmak
Eğer PHP kullanıyorsanız, Memcached’i PHP uygulamanızla entegre etmek oldukça basittir. Memcached ile PHP arasında veri depolamak için PHP'nin `memcached` uzantısını kullanabilirsiniz.
Öncelikle PHP ile Memcached bağlantısı kurarak bir veri ekleyelim:
addServer('localhost', 11211);
// Değer ekleme
$mem->set('key', 'Hello, Memcached!', 3600);
// Veriyi al
echo $mem->get('key');
?>
Bu basit örnekte, "key" adlı veriyi Memcached’e ekledik ve ardından onu çağırdık. Eğer her şey doğru çalışıyorsa, "Hello, Memcached!" mesajını görmelisiniz.
Sonuç
Gördüğünüz gibi, Memcached’i kurmak oldukça kolay ve kullanması da bir o kadar pratik. Web uygulamanızda önbellekleme yaparak, veritabanı sorgularını hızlandırabilir ve performansınızı artırabilirsiniz. Memcached, özellikle yoğun trafiğe sahip sitelerde büyük fark yaratır.
Memcached ile veritabanı yükünü azaltın, hızınızı artırın ve kullanıcı deneyimini iyileştirin!