Redis
Redis, veriyi diskte değil bilgisayarın belleğinde tutan bir depodur; böylece aynı pahalı soru ikinci kez sorulduğunda anında yanıtlanır.
Şu adla da bilinir bellek içi önbellek anahtar-değer deposu önbellek sunucusu
Tanım
Redis, sitenizin yanında duran ve her şeyi bellekte tutan küçük ama çok hızlı bir depodur. Bellek, bir bilgisayarın açıkken çalıştığı alandır ve oradan okumak diskten okumaktan binlerce kat hızlıdır. Redis'in bütün varlık nedeni de bu farktır.
Her ziyaretçinin aynı soruyu sorduğu kalabalık bir dükkân sayfası düşünün, yani bugün indirimde ne var. Redis olmadan site her ziyaretçi için ana veritabanına gider ve cevabı yeniden hesaplar; dakikada yüzlerce kez, hep aynı sonuç için. Redis varsa cevabı bir kez hesaplar ve sonraki bir dakika boyunca aynı kopyayı herkese verir, böylece sayfa daha çabuk gelir. Veritabanı da yalnızca kendisinin yapabileceği iş için boşta kalır.
Üç işi daha iyi yapar ve ilki, kimin giriş yaptığını hatırlamasıdır, böylece her tıklamada parola sorulmaz. Ayrıca görev kuyruğu tutar; örneğin fatura e-postası müşteri kasada beklerken değil, satıştan sonra gönderilir. Kısa aralıklarda olayları da sayar, giriş formunun dakikada beş denemeye izin verip altıncısını reddetmesi bu sayede olur. Bu sonuncusu, parola tahmini denemelerinin çoğunu daha başlamadan durduran ucuz bir güvenlik işidir.
Şimdi ekiplerin zor yoldan öğrendiği kısım geliyor, çünkü makine yeniden başlayınca bellek boşalır. Redis diske kopya yazabilir ama bunu belirli aralıklarla yapar, dolayısıyla yanlış saniyede bir yeniden başlatma son birkaç saniyeyi kaybettirir. Önbelleğe alınmış bir sayfa için sorun değildir ama bir sipariş için sorundur, bu yüzden tek kopyası Redis'te olan hiçbir şey önemli olmamalı. İkinci sürpriz ise Redis'in kutudan çıktığı hâliyle var olan tüm belleği kullanabilmesidir, öyle ki makinenin belleği bitince yalnızca önbellek değil o sunucudaki her şey zarar görür. Linkysoft bu sınırı her projenin ilk günü koyar; siz de tedarikçinize sınırın kaç olduğunu ve sınıra gelince neyin atıldığını sorun.
Linkysoft bir web uygulaması kurarken Redis genellikle ilk hafta değil ikinci hafta gelir. Hangi cevapların en çok istendiğini bilmeden bir cevabı önbelleğe alamazsınız, bu yüzden önce ölçer, sonra ölçümün gösterdiği yere ekleriz. Storek gibi bir dükkân sisteminde kazananlar neredeyse hep aynı üçüdür. Bunlar kategori sayfası, arama kutusunun altındaki öneriler ve her ekranın köşesindeki sepet sayısıdır.
Redis hakkında sorular
Redis bir veritabanı mıdır?
Sunucu yeniden başlayınca Redis veri kaybeder mi?
Küçük bir site için Redis gerekir mi?
Redis ücretsiz mi?
Redis ile Memcached arasındaki fark nedir?
Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?
Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.