Blogchevron_rightSunucu Yönetimichevron_rightRedis ve Memcached: Web Sitesi Hız Optimizasyonu Rehberi

Redis ve Memcached: Web Sitesi Hız Optimizasyonu Rehberi

S
Serversium
calendar_today27 Nisan 2026
schedule5 dk okuma
Redis ve Memcached: Web Sitesi Hız Optimizasyonu Rehberi

Redis ve Memcached: Dinamik Web Siteleri İçin Hız Optimizasyonu

Modern web sitelerinin performansı, kullanıcı deneyiminin temel belirleyicilerinden biridir. Araştırmalara göre, bir web sayfasının 3 saniyeden uzun sürede yüklenmesi durumunda kullanıcıların %53'ü siteden ayrılıyor. Bu nedenle dinamik içerik yönetim sistemleri ve yüksek trafikli uygulamalar için Redis ve Memcached gibi in-memory önbellekleme çözümleri kritik önem taşıyor.

Bu kılavuzda, Redis ve Memcached teknolojilerini derinlemesine inceleyecek, hangi durumda hangi çözümü tercih etmeniz gerektiğini açıklayacağız.

İn-Memory Önbellekleme Nedir?

İn-memory önbellekleme, verilerin disk yerine RAM üzerinde depolanmasını sağlayan bir tekniktir. NVMe SSD teknolojileri bile RAM hızına yaklaşamaz çünkü RAM, milisaniye düzeyinde erişim süreleri sunar. Bu sayede veritabanı sorguları, oturum verileri ve sık kullanılan içerikler saniyeler içinde kullanıcıya ulaşır.

Redis Nedir ve Nasıl Çalışır?

Redis (Remote Dictionary Server), açık kaynaklı, in-memory veri yapısı deposudur. String, Hash, List, Set ve Sorted Set gibi çeşitli veri yapılarını destekler. Redis, NoSQL veritabanı olarak da kullanılabilir ve pub/sub mesajlaşma sistemi ile gerçek zamanlı uygulamalar için idealdir.

Redis'in Temel Özellikleri

  • Veri Kalıcılığı: Redis, AOF (Append Only File) ve RDB snapshot özellikleriyle verileri diske kaydedebilir
  • Replikasyon: Master-slave mimarisi ile yüksek kullanılabilirlik sağlar
  • Atomic İşlemler: Tüm işlemler atomik olarak gerçekleştirilir, veri tutarlılığı garanti altındadır
  • Cluster Desteği: Yatay ölçekleme ile milyonlarca isteği karşılayabilir

Oyun sunucuları başta olmak üzere birçok real-time uygulama Redis tercih ediyor. Özellikle FiveM sunucu ve Unturned sunucu altyapılarında Redis, oyuncu verileri ve oturum yönetimi için yaygın olarak kullanılıyor.

Memcached Nedir ve Nasıl Çalışır?

Memcached, basit ve hafif bir in-memory önbellekleme sistemidir. İlk olarak 2003 yılında LiveJournal tarafından geliştirilmiştir. Redis'ten farklı olarak sadece string türünde veri depolayabilir ve daha basit bir mimariye sahiptir.

Memcached'in Temel Özellikleri

  • Basitlik: Kurulumu ve yapılandırması oldukça kolaydır
  • Minimal Kaynak Kullanımı: Daha az bellek ayak izi bırakır
  • Dağıtık Mimari: Birden fazla sunucu arasında verileri otomatik olarak dağıtır
  • LRU (Least Recently Used): Bellek dolduğunda en az kullanılan verileri otomatik olarak siler

Redis vs Memcached: Karşılaştırma Tablosu

  • Horizontal scaling sınırlı
  • Özellik Redis Memcached
    Veri Türleri String, Hash, List, Set, Sorted Set Yalnızca String
    Kalıcılık Evet (RDB, AOF) Hayır
    Replikasyon Master-Slave Yok
    Transaction Desteği Evet (MULTI/EXEC) Sınırlı
    Pub/Sub Evet Hayır
    Disk Yazma Asenkron Yok
    临 Bellek Kullanımı Daha yüksek Daha düşük
    Ölçekleme Cluster desteği

    Hangi Durumda Hangisini Seçmelisiniz?

    Redis tercih edin:

    • Karmaşık veri yapılarına ihtiyacınız varsa
    • Veri kalıcılığı önemliyse
    • Pub/Sub mesajlaşma sistemi kullanacaksanız
    • Gerçek zamanlı analitik veya leaderboard sistemleri kuracaksanız

    Memcached tercih edin:

    • Sadece basit önbellekleme yapacaksanız
    • Kaynak kullanımını minimize etmek istiyorsanız
    • Hızlı ve basit bir çözüm arıyorsanız
    • Oturum depolama gibi basit string verileri saklayacaksanız

    Dinamik Sitelerde Redis ve Memcached Kullanım Alanları

    1. Oturum Yönetimi

    Web uygulamalarında kullanıcı oturumları, her istekte veritabanına sorgu atılmasını gerektirir. Redis veya Memcached kullanarak oturum verilerini RAM'de tutmak, oturum açma işlemlerini 100 kata kadar hızlandırabilir. WordPress hosting çözümlerinde bu yöntem özellikle etkilidir.

    2. Veritabanı Sorgu Önbellekleme

    Sık tekrarlanan SQL sorgularının sonuçlarını önbelleğe almak, veritabanı yükünü önemli ölçüde azaltır. Örneğin, bir e-ticaret sitesindeki ürün kategorileri veya en çok satan ürünler listesi Redis ile önbelleğe alınabilir. E-ticaret hosting projelerinde bu yaklaşım satış dönemlerinde kritik önem taşır.

    3. API Yanıt Önbellekleme

    REST API'lerin dönüştürdüğü JSON yanıtları, belirli bir süre boyunca önbelleğe alınarak sunucu yükü azaltılır. Özellikle harici entegrasyonlarda (ödeme sistemleri, kargo API'leri) bu yöntem kullanılır.

    4. Gerçek Zamanlı Uygulamalar

    Redis'in pub/sub özelliği, canlı sohbet uygulamaları, bildirim sistemleri ve gerçek zamanlı işbirliği araçları için mükemmel bir altyapı sunar.

    Redis ve Memcached Kurulumu

    Linux Sunucuda Redis Kurulumu

    # Ubuntu/Debian
    sudo apt update
    sudo apt install redis-server
    
    # CentOS/RHEL
    sudo yum install redis
    
    # Servisi başlatma
    sudo systemctl start redis
    sudo systemctl enable redis

    Redis Yapılandırması

    # redis.conf temel ayarlar
    maxmemory 2gb
    maxmemory-policy allkeys-lru
    save 900 1
    save 300 10
    save 60 10000
    bind 127.0.0.1
    port 6379

    Bu yapılandırma, Redis'in 2GB bellek kullanmasına izin verir ve bellek dolduğunda en az kullanılan anahtarları otomatik olarak siler. Linux sunucu altyapılarında Redis kurulumu oldukça basittir.

    Memcached Kurulumu

    # Ubuntu/Debian
    sudo apt install memcached libmemcached-tools
    
    # CentOS/RHEL
    sudo yum install memcached
    
    # Servisi başlatma
    sudo systemctl start memcached
    sudo systemctl enable memcached

    Memcached Yapılandırması

    # /etc/memcached.conf
    -m 1024
    -p 11211
    -u memcached
    -l 127.0.0.1
    -c 1024

    Bu ayar, Memcached'in 1GB bellek kullanmasını ve maksimum 1024 eşzamanlı bağlantıyı desteklemesini sağlar.

    PHP ile Redis ve Memcached Kullanımı

    PHP Redis Bağlantısı

    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    
    // Veri ekleme
    $redis->set('user:123', json_encode(['name' => 'Ahmet', 'email' => '[email protected]']));
    
    // Veri okuma
    $user = json_decode($redis->get('user:123'), true);
    
    // Süreli önbellekleme
    $redis->setex('cache:products', 3600, json_encode($products));

    PHP Memcached Bağlantısı

    $memcached = new Memcached();
    $memcached->addServer('127.0.0.1', 11211);
    
    // Veri ekleme
    $memcached->set('user:123', json_encode(['name' => 'Ahmet', 'email' => '[email protected]']), 3600);
    
    // Veri okuma
    $user = json_decode($memcached->get('user:123'), true);

    WordPress'te Redis ve Memcached Kullanımı

    WordPress siteleri, veritabanı yoğun yapıları nedeniyle önbellekleme çözümlerinden büyük fayda sağlar. LiteSpeed vs Nginx karşılaştırmasında olduğu gibi, önbellekleme katmanları eklemek performansı önemli ölçüde artırır.

    Redis ile WordPress Object Cache

    WordPress'te Redis kullanmak için Redis Object Cache eklentisini yükleyin:

    # wp-config.php ayarı
    define('WP_REDIS_HOST', '127.0.0.1');
    define('WP_REDIS_PORT', '6379');
    define('WP_REDIS_DATABASE', '0');
    define('WP_REDIS_TIMEOUT', '1');
    define('WP_REDIS_READ_TIMEOUT', '1');

    Memcached ile WordPress

    Memcached kullanmak için W3 Total Cache eklentisi veya Batcache eklentisi kullanılabilir. Her iki çözüm de WordPress'in veritabanı sorgu sayısını önemli ölçüde azaltır.

    Önbellekleme Stratejileri ve En İyi Uygulamalar

    1. Önbellek Süreleri

    Farklı içerik türleri için farklı önbellek süreleri belirleyin:

    • Statik içerik: 24-72 saat
    • Ürün sayfaları: 1-4 saat
    • Kullanıcı prof

    library_booksBenzer İçerikler

    Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber
    Sunucu Yönetimi
    calendar_today5 Nisan 2026
    schedule5 dk

    Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber

    Cloud sunucular, dinamik kaynak dağıtımıyla işletmelerin kesintisiz büyümesini sağlar. Avantajlardan karşılaştırmalara tüm detaylar bu rehberde yer alıyor.

    S
    Serversiumarrow_forward
    Linux vs Windows Sunucu: Hangisi Projeye Uygun?
    Sunucu Yönetimi
    calendar_today6 Nisan 2026
    schedule5 dk

    Linux vs Windows Sunucu: Hangisi Projeye Uygun?

    Linux ve Windows Sunucu arasındaki teknik farkları, maliyet avantajlarını ve proje uyumluluğunu detaylı olarak karşılaştırıyoruz. Yazılım stack'inize en uygun işletim sistemini seçmek için kapsamlı rehberimizle doğru altyapı kararını verin.

    S
    Serversiumarrow_forward
    Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber
    Sunucu Yönetimi
    calendar_today16 Nisan 2026
    schedule5 dk

    Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber

    Ubuntu 24 üzerinde Plesk kurulumunu adım adım öğrenin. Bu rehberde sistem gereksinimleri, kurulum adımları ve temel yapılandırma ayarlarını bulabilirsiniz.

    S
    Serversiumarrow_forward