Kısaca özet
- Redis object cache, WordPress’in veritabanından okuduğu sorgu sonuçlarını bellekte tutan Redis sunucusuna yazarak sonraki isteklerde aynı sorguların tekrar çalışmasını önleyen kalıcı nesne önbelleğidir.
- WordPress’in kendi nesne önbelleği varsayılan olarak kalıcı değildir; veriler yalnızca tek bir istek boyunca bellekte kalır, sayfa kapanınca silinir.
- Sayfa önbelleği hazır HTML’i sunar ve ziyaretçilerin çoğunu zaten karşılar; nesne önbelleği ise sayfa önbelleğinin devre dışı kaldığı isteklerde fark yaratır.
- Oturum açmış kullanıcısı çok olan üyelik siteleri, WooCommerce sepet ve ödeme akışı, yoğun yönetim paneli kullanımı ve çok sorgulu siteler Redis’ten en çok fayda görenlerdir.
- Az sayfalı, çoğunlukla anonim ziyaretçi alan bir kurumsal site ya da blog için iyi yapılandırılmış sayfa önbelleği genellikle yeterlidir.
- Redis ayrı bir sunucu servisidir; sanal sunucuda kendiniz kurar, bellek sınırını ve silme politikasını kendiniz belirlersiniz.
Siteniz anasayfada hızlı açılıyor, ama yönetim paneline girdiğinizde ya da müşteriler sepete ürün eklediğinde her tıklama saniyeler sürüyor. Birisi “Redis kur, hızlanır” diyor, bir başkası “sayfa önbelleğin varken gereksiz” diye karşı çıkıyor. İkisi de kendi senaryosunda haklı. Redis object cache, WordPress’in yavaşlığını her durumda çözen genel bir hızlandırıcı değil, belirli bir darboğazı hedefleyen bir araçtır. Aşağıda bu darboğazın ne olduğunu, sitenizde bulunup bulunmadığını nasıl anlayacağınızı ve Redis’in ne zaman gereksiz bir katman olduğunu bulacaksınız.
Redis object cache nedir, WordPress’te nasıl çalışır
WordPress bir sayfayı oluştururken veritabanına onlarca, bazen yüzlerce sorgu gönderir: site ayarları, menüler, yazılar, kullanıcı bilgileri, eklenti ayarları. Bu sorguların sonuçları çekirdekteki nesne önbelleğine yazılır, böylece aynı istek içinde aynı veri ikinci kez istenirse veritabanına gidilmez. WordPress’in WP_Object_Cache belgesi önemli bir ayrıntıyı açıkça yazar: bu önbellek varsayılan olarak kalıcı değildir, veriler yalnızca istek süresince bellekte kalır.
Redis object cache bu boşluğu doldurur. Redis, verileri RAM’de tutan hızlı bir anahtar-değer deposudur. WordPress’e eklenen kalıcı önbellek katmanı (wp-content altındaki object-cache.php dosyası) nesne önbelleğini Redis’e bağlar. Artık bir ziyaretçinin isteğinde veritabanından okunan menü, ayar ya da sorgu sonucu Redis’e yazılır ve sonraki isteklerde oradan okunur. Veritabanına giden sorgu sayısı düşer, özellikle aynı verinin sürekli okunduğu sitelerde yanıt süresi kısalır.
Bilgi
Nesne önbelleği yeniden üretilebilir veridir. Redis servisi durursa ya da içeriği silinirse WordPress veriyi yeniden veritabanından okur; içerik kaybolmaz, yalnızca önbellek dolana kadar site biraz yavaşlar. WordPress’in önbellekleme belgesi de Redis ve Memcached’i bu türden kalıcı nesne önbelleği motorları arasında sayar.

Sayfa önbelleği ile nesne önbelleği farkı
İki katmanı karıştırmak en sık yapılan hatadır. Sayfa önbelleği, WordPress’in ürettiği HTML sayfanın tamamını saklar ve bir sonraki ziyaretçiye PHP ile veritabanını hiç çalıştırmadan gönderir. Anonim ziyaretçi alan bir blogda isteklerin büyük bölümü bu katmanda biter; veritabanına hiç ulaşılmadığı için nesne önbelleğinin katkısı da sınırlı kalır.
Nesne önbelleği ise sayfa önbelleğinin devre dışı kaldığı yerde çalışır: oturum açmış kullanıcılar, sepet ve ödeme sayfaları, yönetim paneli, arama sonuçları ve kişiye göre değişen içerik. Bu isteklerde WordPress her seferinde sayfayı yeniden üretir; Redis burada tekrarlanan sorguların yükünü alır. Eklenti tarafında iki katmanın nasıl seçileceğini WordPress önbellek eklentisi seçimi yazısı ele alıyor; burada odak yalnızca nesne önbelleğinin ne zaman gerektiğidir.
| Özellik | Sayfa önbelleği | Redis object cache |
|---|---|---|
| Ne saklar | Hazır HTML sayfanın tamamı | Veritabanı sorgu sonuçları ve nesneler |
| En çok hangi istekte işe yarar | Anonim ziyaretçi, sabit içerik | Oturum açmış kullanıcı, sepet, yönetim paneli |
| Gerektirdiği altyapı | Web sunucusu ya da eklenti düzeyinde | Çalışan bir Redis servisi ve bağlantı katmanı |
| Veritabanı yüküne etkisi | Önbellekteki sayfalar için sıfıra yakın | Önbelleğe alınamayan isteklerde belirgin düşüş |
| Yanlış yapılandırma riski | Eski içerik gösterme, kişisel veri sızması | Bellek dolması, bayat nesne, bağlantı hatası |
Redis ne zaman fark yaratır
Redis object cache’in en belirgin katkı sağladığı dört senaryo vardır. Birincisi üyelik siteleri, eğitim platformları ve forumlardır; kullanıcıların çoğu oturum açık gezdiği için sayfa önbelleği devreye giremez. İkincisi WooCommerce mağazalarıdır; sepet, hesap ve ödeme sayfaları kişiye özeldir, ürün ve stok sorguları sürekli tekrarlanır. Üçüncüsü yönetim panelini yoğun kullanan editör ekipleridir; panel her tıklamada ayar ve kullanıcı sorguları üretir.
Dördüncüsü çok sayıda eklenti ya da karmaşık sorgu kullanan sitelerdir. Filtreli ürün listeleri, ilişkili içerik blokları ve ayarlarını her istekte okuyan eklentiler veritabanını gereğinden fazla meşgul eder. Bu sitelerde Redis, veritabanına giden sorgu sayısını azaltarak hem yanıt süresini hem de sunucunun işlemci yükünü düşürür.
Örnek senaryo
Bursa’da ev tekstili satan bir WooCommerce mağazası günde 800 ziyaretçi alıyor; ziyaretçilerin yarısı üye girişiyle alışveriş yapıyor. Anasayfa ve kategori sayfaları sayfa önbelleğiyle hızlı, ama sepet ve “Hesabım” sayfaları yavaş, kampanya günlerinde yönetim paneli donuyor. Mağaza sanal sunucusuna Redis kuruyor, bellek sınırını belirliyor ve kalıcı nesne önbelleğini etkinleştiriyor. Sonuç: önbelleğe alınamayan sayfalarda veritabanı sorgu sayısı belirgin biçimde düşüyor, kampanya günü paneldeki donmalar kayboluyor. Aynı mağazanın bilgi amaçlı blog bölümünde ise ölçülebilir bir fark görülmüyor, çünkü orada zaten sayfa önbelleği çalışıyordu.
Redis object cache ne zaman gereksizdir
Ziyaretçilerinin neredeyse tamamı anonim olan, birkaç düzine sayfalık bir kurumsal site ya da blog için Redis ek bir hareketli parçadan öteye geçmez. Sayfa önbelleği doğru çalışıyorsa isteklerin çoğu veritabanına hiç ulaşmaz. Böyle bir sitede yavaşlığın asıl sebebi çoğunlukla büyük görseller, ağır tema betikleri, eski PHP sürümü ya da hantal bir eklentidir. Önce bunları elemek gerekir; hangisinin sorumlu olduğunu ayırmak için WordPress yavaşsa hosting mi eklenti mi yazısındaki teşhis sırası işe yarar.
Veritabanı zaten şişkinse Redis de tek başına çare değildir. Yıllardır biriken revizyonlar, süresi geçmiş geçici veriler ve otomatik yüklenen ayar tabloları her istekte gereksiz okuma üretir. Önce veritabanını temizlemek, sonra önbellek katmanı eklemek daha kalıcı sonuç verir; adımlar veritabanı optimizasyonu rehberinde.
Dikkat
Redis önbellek amacıyla kullanılırken bellek sınırı mutlaka belirlenmelidir. Redis’in bellek ve silme politikası belgesine göre 64 bit sistemlerde maxmemory varsayılan olarak sıfırdır, yani sınır yoktur. Sınırsız bırakılan bir önbellek sunucunun bütün RAM’ini tüketip veritabanını ve PHP süreçlerini sıkıştırabilir. Sınırla birlikte, dolduğunda en az kullanılan anahtarları silen bir politika seçin.
Redis’i nerede çalıştırırsınız, hosting tarafı
Redis, WordPress’in içinde çalışan bir eklenti değil, sunucuda ayrı bir servis olarak çalışan bir yazılımdır. Bu yüzden kullanılabilirliği hosting türüne bağlıdır. Paylaşımlı hostingte servis sağlayıcının sunduğu araçlarla sınırlısınız; Redis’in pakete dahil olup olmadığını sağlayıcınıza sorun. Sanal sunucuda ise Redis’i kendiniz kurar, bellek sınırını, bağlantı yöntemini ve güvenlik ayarlarını kendiniz yaparsınız. Sunucu türleri arasındaki sorumluluk farkını WordPress için hosting tercihi rehberi karşılaştırıyor.
Redis kurulu bir sanal sunucuda iki ayrıntı zorunludur: servis dış ağa açık olmamalı, yalnızca sunucunun kendi içinden erişilmelidir; aynı Redis’i birden çok site paylaşıyorsa her site ayrı bir veritabanı numarası ya da anahtar öneki kullanmalıdır. Aksi hâlde siteler birbirinin önbelleğini ezer ve yanlış içerik görüntülenir.
Sonuç
Redis object cache, WordPress’in veritabanına tekrar tekrar sorduğu soruları bellekte cevaplayan kalıcı bir katmandır. Oturum açmış kullanıcı, WooCommerce ve yoğun panel kullanımı olan sitelerde belirgin kazanç sağlar. Anonim ziyaretçi alan küçük sitelerde doğru kurulmuş sayfa önbelleği işin çoğunu zaten yapar; orada önce görselleri, eklentileri ve veritabanı temizliğini düzeltmek daha verimlidir.
Redis kurmadan önce kontrol listesi
- Sayfa önbelleğinin çalıştığını ve hangi sayfaların önbellek dışında kaldığını belirleyin.
- Oturum açmış kullanıcı oranını ve WooCommerce sepet trafiğini analitikten çıkarın.
- Yavaş sayfalarda veritabanı sorgu sayısını bir sorgu izleme aracıyla ölçün.
- Veritabanındaki eski revizyonları ve süresi geçmiş geçici verileri önce temizleyin.
- Hosting paketinizde Redis bulunup bulunmadığını ya da sanal sunucuya kendiniz kuracağınızı netleştirin.
- Redis için bellek sınırı ve silme politikası belirleyin, servisi yalnızca yerel erişime açın.
- Kurulumdan sonra aynı sayfaları yeniden ölçün, farkı sayıyla görün.
Sıkça sorulan sorular
Redis object cache sitemi her durumda hızlandırır mı?
Hayır. Redis object cache, sayfa önbelleğinin devre dışı kaldığı isteklerde veritabanı yükünü azaltır. Ziyaretçilerin çoğu anonimse ve sayfa önbelleği çalışıyorsa bu isteklerin çoğu veritabanına zaten ulaşmaz; fark küçük kalır. Kazanç, oturum açmış kullanıcıların, sepet sayfalarının ve yoğun panel kullanımının olduğu sitelerde belirginleşir.
Redis ile Memcached arasında WordPress için fark var mı?
İkisi de WordPress’in kalıcı nesne önbelleği için kullanılabilen bellek içi depolardır. Redis daha zengin veri yapıları, isteğe bağlı diske yazma ve ayrıntılı bellek politikaları sunar; Memcached daha sade bir önbellektir. Çoğu WordPress sitesinde ikisi arasındaki performans farkı küçüktür, seçim sunucunuzda hangisinin kurulu ve yönetilebilir olduğuna göre yapılır.
Redis kapanırsa sitem çöker mi?
Doğru yapılandırılmış bir kurulumda çökmez. Nesne önbelleği yeniden üretilebilir veridir; Redis erişilemez olduğunda WordPress veriyi doğrudan veritabanından okur. Ancak bazı bağlantı katmanları Redis’e ulaşamadığında hata sayfası gösterebilir. Kurulumdan sonra servisi bilinçli olarak durdurup sitenin nasıl davrandığını test edin.
Nesne önbelleğini ne zaman temizlemem gerekir?
Eklenti ya da tema güncellemesinden sonra ayarlar beklenmedik görünüyorsa, veritabanına elle müdahale ettiyseniz ya da taşıma yaptıysanız önbelleği temizlemek bayat nesneleri siler. Rutin bir işlem değildir; WordPress değişen veriyi önbellekte kendisi günceller. Temizlik sonrası ilk isteklerde kısa süreli yavaşlama normaldir.
Paylaşımlı hostingte Redis kullanabilir miyim?
Bu tamamen sağlayıcınızın sunduğu altyapıya bağlıdır; Redis sunucu düzeyinde çalışan bir servis olduğu için kendi başınıza kuramazsınız. Paketinizde yoksa önce sayfa önbelleği ve veritabanı temizliğiyle ilerleyin. Redis’e gerçekten ihtiyaç duyan büyüklükteki siteler için kaynakları ve servisleri sizin yönettiğiniz bir sanal sunucu daha uygun zemindir.
Narhost’ta
WordPress hosting paketlerimiz NVMe disk ve LiteSpeed web sunucusu üzerinde çalışır, cPanel’de AccelerateWP ve WP Toolkit Deluxe ile birlikte gelir; mevcut sitenizi başka firmadan ücretsiz taşıyoruz.