Makale Başlıkları
Kısaca
Redis, veritabanı sorgularının sonuçlarını sunucunun belleğinde (RAM) tutan bir nesne önbelleğidir. Aynı sorgunun tekrar tekrar diske gitmesini engelleyerek dinamik siteleri, özellikle WordPress ve WooCommerce’i belirgin biçimde hızlandırır. Ancak Redis’in çalışması için hosting sunucusunda kurulu ve etkin olması şarttır; tek başına eklenti bunu sağlamaz.
- Redis, veritabanı sorgularını %50-80 oranında azaltarak yönetim panelini ve dinamik sayfaları hızlandırır.
- Sayfa önbelleği (LSCache gibi) ile nesne önbelleği (Redis) farklı işler yapar; ikisi birlikte en iyi sonucu verir.
- Redis, sunucu tarafı desteği ister; paylaşımlı planlarda çoğunlukla VPS veya bulut sunucu gerekir.
Bir web sitesinin yavaş açılmasının ardında çoğu zaman görünmeyen bir suçlu vardır: veritabanı. Her sayfa isteğinde WordPress onlarca, bazen yüzlerce sorguyu tekrar tekrar çalıştırır. Menü öğeleri, eklenti ayarları, kullanıcı bilgileri, ürün fiyatları… Bunların büyük kısmı ziyaretçiden ziyaretçiye değişmez, ama sistem her seferinde aynı soruyu diskteki veritabanına sorar. İşte Redis tam bu noktada devreye girer ve bu tekrarı kırar.
Bu yazıda Redis’in bir hosting ortamında performansı nasıl ve neden artırdığını, sayfa önbelleğinden farkını, hangi durumlarda gerçekten fark yarattığını ve hangi hosting türünün buna uygun olduğunu teknik ama anlaşılır bir dille ele alıyoruz.
Redis Nedir ve Neden Bellekte Çalışır?
Redis (Remote Dictionary Server), bellek üzerinde çalışan bir anahtar-değer veri deposudur. Verileri diske değil, doğrudan sunucunun RAM’ine yazar. RAM erişimi, klasik disk erişiminden binlerce kat hızlıdır; SSD diskler bile bu farkı kapatamaz çünkü RAM’e ulaşmak nanosaniyeler, diske ulaşmak mikrosaniyeler mertebesindedir.
Web hosting bağlamında Redis genellikle nesne önbelleği (object cache) olarak kullanılır. Yani MySQL veya MariaDB veritabanına giden sorguların sonuçlarını bellekte tutar. Aynı sorgu ikinci kez geldiğinde, sistem veritabanını hiç rahatsız etmeden yanıtı doğrudan Redis’ten çeker. Böylece veritabanı sunucusunun yükü düşer, yanıt süresi kısalır ve sunucu aynı donanımla çok daha fazla eşzamanlı ziyaretçiye hizmet verebilir.
Nesne Önbelleği Somut Olarak Ne Yapar?
WordPress’in yerleşik bir WP_Object_Cache mekanizması vardır, ancak varsayılan hâliyle bu önbellek yalnızca tek bir sayfa yüklemesi boyunca geçerlidir. Sayfa yüklendikten sonra bellek boşaltılır ve bir sonraki ziyaretçide aynı sorgular sıfırdan çalışır. Redis, bu önbelleği kalıcı hâle getirir: bir kez hesaplanan sorgu sonucu sonraki isteklerde de kullanılabilir. Kalıcı nesne önbelleği (persistent object cache), Redis’in hosting performansına asıl katkısının temelidir.
Redis, Sayfa Önbelleğinden Nasıl Farklıdır?
Bu, en çok karıştırılan konu. İki önbellek türü rakip değil, tamamlayıcıdır. Farkı anlamak, Redis’ten doğru beklentiyi kurmak için kritiktir.
| Özellik | Sayfa Önbelleği (ör. LSCache) | Nesne Önbelleği (Redis) |
|---|---|---|
| Ne saklar? | Tam HTML sayfa çıktısı | Tekil veritabanı sorgu sonuçları |
| Nerede tutulur? | Disk veya bellek | Bellek (RAM) |
| En çok işe yaradığı yer | Anonim ziyaretçiye giden statik sayfalar | Giriş yapmış kullanıcı, sepet, yönetim paneli |
| Kişiye özel içerik | Genellikle atlanır (bypass) | Tam bu senaryoda devreye girer |
| PHP çalışır mı? | Hayır, hazır HTML sunulur | Evet, ama veritabanı yükü azalır |
Özetle: Sayfa önbelleği, aynı içeriği gören anonim ziyaretçiye tüm sayfayı hazır HTML olarak sunar ve PHP’yi hiç çalıştırmaz. Ancak bir kullanıcı giriş yaptığında, sepete ürün eklediğinde veya yönetim panelinde çalıştığında sayfa önbelleği çoğunlukla devre dışı kalır çünkü içerik kişiye özeldir. İşte tam bu dinamik anlarda Redis, veritabanı sorgularını bellekten karşılayarak performansı ayakta tutar.
Redis Performansı Ne Kadar Artırır?
Gerçekçi olmak gerekir: Redis, her siteyi sihirli biçimde hızlandırmaz. Etkisi, sitenin ne kadar dinamik olduğuna bağlıdır. Basit bir tanıtım sitesi zaten büyük ölçüde sayfa önbelleğinden yararlanıyorsa Redis’in katkısı sınırlı kalabilir. Ancak veritabanı-yoğun sitelerde fark çarpıcıdır:
- Yönetim paneli (wp-admin): Kişiye özel olduğu için sayfa önbelleğinden faydalanamaz. Redis ile panel yükleme süreleri belirgin biçimde kısalır.
- WooCommerce: Sepet, ödeme ve hesap sayfaları asla tam önbelleğe alınamaz. Redis, bu sayfalardaki tekrarlayan sorguları bellekten karşılayarak alışveriş akışını hızlandırır.
- Üyelik ve forum siteleri: Giriş yapmış kullanıcıların çokluğu veritabanını zorlar. Redis bu yükü ciddi ölçüde hafifletir.
- Çok eklentili siteler: Her eklenti ayar ve seçenek sorguları çalıştırır. Redis bunları önbelleğe alır.
Uygulamada Redis’in doğru yapılandırıldığı dinamik sitelerde veritabanı sorgu sayısında %50 ila %80’lik bir azalma gözlenir. Bu azalma, doğrudan daha düşük sunucu CPU kullanımına, daha hızlı yanıt süresine ve trafik arttığında daha kararlı bir davranışa dönüşür.
Redis mi, Memcached mi?
Nesne önbelleği için iki popüler seçenek vardır: Redis ve Memcached. Memcached, saf ve çok basit anahtar-değer senaryolarında çok hafif bir çözümdür. Redis ise daha zengin veri yapıları, isteğe bağlı disk kalıcılığı ve daha gelişmiş özellikler sunar. Bir sunucu yeniden başladığında Memcached’in belleği tamamen sıfırlanırken, Redis diske yazma seçeneğiyle veriyi koruyabilir. Bu dayanıklılık ve esneklik nedeniyle günümüz WordPress ve dinamik uygulama senaryolarında Redis çoğunlukla tercih edilen seçenektir.
Redis’i Çalıştırmak İçin Hosting Tarafında Ne Gerekir?
Burada en sık yapılan hatayı vurgulamak gerekir: Redis, bir WordPress eklentisiyle “açılıp” var edilemez. Eklenti yalnızca bir köprüdür; sunucuda kurulu ve çalışan bir Redis servisine bağlanır. Eğer sunucuda Redis servisi yoksa, hiçbir eklenti size gerçek bir nesne önbelleği veremez.
Redis bir sistem servisidir ve sunucuda root düzeyinde kurulum, belleğin ayrılması ve doğru yapılandırma ister. Bu nedenle:
- Ucuz, çok kiracılı paylaşımlı planlarda Redis çoğu zaman sunulmaz veya kısıtlıdır; çünkü her müşteriye ayrı bellek ayırmak zordur.
- VPS, bulut sunucu veya sunucu (dedicated) ortamlarında Redis’i istediğiniz gibi kurup yapılandırabilirsiniz; kaynaklar size özeldir.
- Yönetimli WordPress hosting planlarında ise Redis genellikle önceden hazır gelir.
Alastyr tarafında altyapı bu senaryolara uygun kurgulanmıştır. İzmir’deki kendi veri merkezimizde barındırılan sunucular, Dell EMC Unity 650F all-flash depolama ve Intel Xeon Gold işlemcilerle donatılmıştır; yani Redis’in bellek-yoğun doğasına uygun bir donanım temeli mevcuttur. Kaynakları size özel olan VPS Sunucu ve Bulut Sunucu planlarında Redis’i tam kontrolle kurup yapılandırabilir; WordPress Hosting tarafında ise LiteSpeed ve LSCache ile birlikte katmanlı bir önbellek mimarisi kurgulayabilirsiniz.
Katmanlı Önbellek: LSCache + Redis Birlikte
En yüksek performans, tek bir önbellek türüyle değil, katmanların üst üste kullanılmasıyla elde edilir. Alastyr sunucularında standart olarak gelen LiteSpeed web sunucusu ve LSCache, anonim ziyaretçilere hazır HTML sunarak PHP’yi baypas eder. Redis ise bu katmanın altında, dinamik ve kişiye özel isteklerdeki veritabanı yükünü karşılar. İkisi birlikte çalıştığında, hem statik hem dinamik trafiğin performansı optimize edilmiş olur.
Redis Kurulumunda Dikkat Edilecek Noktalar
Redis’i etkinleştirmek tek başına yeterli değildir; doğru yapılandırmak gerekir. Uygulamada sık karşılaşılan noktalar şunlardır:
- Yeterli bellek ayırın: Redis RAM üzerinde çalıştığı için siteye uygun bir bellek limiti (maxmemory) tanımlanmalıdır. Çok düşük bir limit, önbelleğin sürekli boşalmasına yol açar.
- Tahliye politikası (eviction policy): Bellek dolduğunda hangi verinin silineceğini belirleyen politika, önbellek verimini doğrudan etkiler.
- Bağlantı doğrulaması: WordPress’te Redis Object Cache eklentisini kurduktan sonra bağlantının gerçekten “Connected” durumda olduğu teyit edilmelidir.
- Kalıcılık kararı: Salt önbellek amaçlı kullanımda disk kalıcılığı kapatılabilir; bu, performansı artırır ama sunucu yeniden başladığında önbellek sıfırlanır.
- İzole çalışma: Aynı sunucuda birden fazla site varsa, her sitenin önbelleğinin karışmaması için ayrı veritabanı indeksi veya önek (prefix) kullanılmalıdır.
Bu yapılandırmaların doğru kurulması, Redis’in vaat ettiği hız kazancını gerçeğe dönüştüren asıl adımdır. Yanlış ayarlanmış bir Redis, hiç Redis olmamasından daha iyi bir sonuç vermeyebilir.
Redis Ne Zaman Gerekli Değildir?
Dürüst bir değerlendirme, Redis’in her zaman gerekli olmadığını da söylemeyi gerektirir. Günde birkaç yüz ziyaretçi alan, çoğunlukla statik içerikli, giriş yapan kullanıcısı olmayan basit bir tanıtım sitesinde sayfa önbelleği çoğu ihtiyacı zaten karşılar. Böyle bir sitede Redis’in getireceği ek hız, ölçülebilir ama çoğu ziyaretçi tarafından fark edilmeyecek düzeyde olabilir.
Redis’in gerçekten anlam kazandığı yer; e-ticaret, üyelik, forum, çok yazarlı yayın ve trafiğin yoğun olduğu dinamik platformlardır. Site büyüdükçe, veritabanı yükü arttıkça Redis bir lükstense giderek bir zorunluluğa dönüşür.
Sıkça Sorulan Sorular
Redis kurunca sitem otomatik olarak hızlanır mı?
Otomatik olarak değil. Redis’in sunucuda kurulu ve çalışır olması, ardından WordPress tarafında bir nesne önbelleği eklentisiyle bağlanıp doğru yapılandırılması gerekir. Sadece Redis servisinin açık olması, sitenizin ondan yararlandığı anlamına gelmez.
Redis ile sayfa önbelleği aynı şey mi?
Hayır. Sayfa önbelleği tüm HTML sayfayı hazır olarak saklar ve genellikle anonim ziyaretçilere sunulur. Redis ise tekil veritabanı sorgu sonuçlarını bellekte tutar ve özellikle giriş yapmış kullanıcı, sepet ve yönetim paneli gibi dinamik senaryolarda devreye girer. İkisi birlikte kullanıldığında en iyi sonucu verir.
Paylaşımlı hosting planımda Redis kullanabilir miyim?
Bu, planın Redis desteğine bağlıdır. Çok kiracılı ucuz paylaşımlı planlarda Redis çoğu zaman sunulmaz. Kaynakların size özel olduğu VPS, bulut sunucu veya sunucu planlarında Redis’i tam kontrolle kurup yapılandırabilirsiniz.
Redis mi Memcached mi kullanmalıyım?
Çoğu modern WordPress ve dinamik uygulama senaryosunda Redis tercih edilir. Redis, daha zengin veri yapıları ve isteğe bağlı disk kalıcılığı sunar; sunucu yeniden başladığında verileri koruyabilir. Memcached ise yalnızca basit anahtar-değer ihtiyaçlarında hafif bir alternatiftir.
Redis ne kadar bellek harcar?
Bu, sitenin büyüklüğüne ve önbelleğe alınan veri miktarına göre değişir. Redis için bir üst bellek limiti tanımlanır ve bu limit dolduğunda eski veriler tahliye politikasına göre temizlenir. Küçük siteler için birkaç yüz megabayt yeterken, büyük e-ticaret siteleri daha fazla bellek isteyebilir.
Redis veritabanımın yerine mi geçer?
Hayır. Redis kalıcı veritabanınızın yerini almaz; onun önüne geçen bir önbellek katmanıdır. Asıl veriler yine MySQL veya MariaDB gibi veritabanında tutulur; Redis yalnızca sık istenen sorgu sonuçlarını geçici olarak bellekte saklar.
Sunucu yeniden başlarsa Redis önbelleği ne olur?
Salt önbellek amaçlı kullanılıyorsa ve disk kalıcılığı kapalıysa, sunucu yeniden başladığında Redis’teki veriler sıfırlanır. Bu bir sorun değildir; önbellek yeniden dolar. Kalıcılık seçeneği açıksa Redis verileri diske yazarak yeniden başlatma sonrası koruyabilir.
WooCommerce sitem için Redis gerçekten fark yaratır mı?
Evet, en çok fark yaratan senaryolardan biridir. Sepet, ödeme ve hesap sayfaları kişiye özel olduğu için tam sayfa önbelleğine alınamaz. Redis bu dinamik sayfalardaki tekrarlayan veritabanı sorgularını bellekten karşılayarak alışveriş akışını belirgin biçimde hızlandırır.
Redis’i kendim mi kurmam gerekir?
Bu, hosting türünüze bağlıdır. VPS veya bulut sunucuda root erişiminizle Redis’i kendiniz kurup yapılandırabilirsiniz. Yönetimli WordPress planlarında ise Redis genellikle önceden hazır gelir ve yalnızca eklenti üzerinden etkinleştirmeniz yeterli olur.
Redis’e Hazır Bir Altyapıyla Hızlanın
İzmir’deki kendi veri merkezimizde, all-flash depolama ve LiteSpeed altyapısıyla Redis’e uygun sunucular. Kaynakları size özel VPS ve bulut sunucu planlarında tam kontrol sizde.





