Redis Nedir, Ne İşe Yarar?
Redis Nedir
Redis, esnekliği, performansı ve geniş dil desteği ile bilinen açık kaynaklı bir anahtar/değer veri tabanıdır. Bir bellek içi veritabanına sahip olan Redis, hızıyla da bilinir ve bir veritabanının yanı sıra önbellek ve mesaj aracısı olarak da geniş kullanım alanına sahiptir.
Bir NoSQL veritabanı olan Redis, SQL olarak da bilinen yapılandırılmış sorgu dilini kullanmaz. Bunun yerine, verileri yönetmek ve bunlara erişmek için kendi komut setiyle birlikte kullanılır.
Redis, Uzak Sözlük Sunucusunu ifade eder. Veritabanı, önbellek, ileti aracısı ve kuyruk olarak kullanım için hızlıdır. Bu hızı elde etmek için bellek içi veri kümesiyle çalışır. Kullanım durumunuza bağlı olarak, veri kümesini arada bir diske atayarak veya her komutu bir günlüğe ekleyerek devam ettirebilirsiniz. Yalnızca zengin özelliklere sahip, ağ bağlantılı, bellek içi bir önbelleğe ihtiyacınız varsa, kalıcılık isteğe bağlı olarak devre dışı bırakılabilir.
Redis Nasıl Çalışır?
Redis, verileri disk veya SSD’lerde depolayan veri tabanlarının aksine bellekte kalır. Disklere erişim ihtiyacını ortadan kaldırarak, arama süresi gecikmelerini önler ve verilere mikro saniyeler içinde erişebilir. Redis, gerçek zamanlı internet ölçeğinde uygulamalar oluşturmayı kolaylaştıran çok yönlü veri yapıları, yüksek kullanılabilirlik, jeo-uzamsal, Lua komut dosyası oluşturma, işlemler, disk üzerinde kalıcılık ve küme desteği özelliklerine sahiptir.
Redis Ne İçin Kullanılır?
Redis veri yapıları, veri deposu içinde yürütülen basit komutlarla çok karmaşık programlama sorunlarını çözerek kodlama maliyetlerini azaltır, verimi artırır ve gecikmeyi azaltır.
Redis, önbelleğe alma, oturum yönetimi, oyun, skor tabloları, gerçek zamanlı analitik, coğrafi konum, araç çağırma, sohbet/mesajlaşma, medya akışı ve alt uygulamalar için popüler bir çözümdür.
Redis’in Avantajları
Yukarıda bahsedildiği üzere PostgreSQL, MongoDB ve çoğu veriyi diskte veya SSD’lerde depolayan diğer veri tabanlarının aksine, Redis verileri Redis Server ana belleğinde bulunur. Bu sayede, daha fazla işlemi ve daha hızlı yanıt sürelerini destekleyebilir. Bir milisaniyeden daha kısa süren ortalama okuma veya yazma işlemleri ve saniyede milyonlarca işlem desteği ile hızlı bir performans sunar.
Kullanım kolaylığı
Redis, uygulamalarınızdaki verileri depolamak, bunlara erişmek ve kullanmak için daha az kod satırı yazmanıza izin vererek kodunuzu kolaylaştırır. Örneğin, uygulamanızın bir hashmap’te depolanmış verileri varsa ve bu verileri bir veri deposunda depolamak istiyorsanız, verileri depolamak için Redis karma veri yapısını kullanabilirsiniz.
Kullanılabilirlik ve ölçeklenebilirlik
Redis, tek düğümlü birincil veya kümelenmiş bir topolojide birincil çoğaltma mimarisi sunar. Bu, tutarlı performans ve güvenilirlik sağlayan yüksek oranda erişilebilir çözümler oluşturmanıza olanak tanır.
Çoğaltma ve kalıcılık
Redis, birincil çoğaltma mimarisi kullanır ve verilerin birden çok çoğaltma sunucusuna çoğaltılabileceği zaman uyumsuz çoğaltmayı destekler. Bu, gelişmiş okuma performansı birincil sunucu bir kesinti yaşadığında daha hızlı kurtarma sağlar.
Redis Kurulumu
Redis kurmak için sudo ayrıcalıklarına sahip bir kullanıcıya ve yapılandırılmış temel bir güvenlik duvarına sahip bir Ubuntu 18.04 sunucusu üzerindeyseniz, sudo kullanıcı olarak Ubuntu 18.04 sunucunuza giriş yapın.
Redis’in en son sürümüne erişmek için Ubuntu depolarını kullanacağız. Yerel apt paketi önbelleğinizi güncelleyin ve şunu kod yazarak Redis’i yüklemeye başlayın:
sudo apt update sudo apt install redis-server
Bu kod Redis’i ve bağımlılıklarını indirip yükleyecektir. Bunu takiben, kurulum sırasında otomatik olarak oluşturulan Redis yapılandırma dosyasında yapılacak önemli bir yapılandırma değişikliği vardır.
sudo nano /etc/redis/redis.conf
kodunu girin.
Dosyanın içinde supervised yönergesini bulun. Bu yönerge, Redis’i bir hizmet olarak yönetmek için bir init sistemi bildirmenize izin vererek, işleyişi üzerinde size daha fazla kontrol sağlar. Denetlenen yönerge varsayılan olarak hayır olarak ayarlanmıştır. Systemd init sistemini kullanan Ubuntu’yu çalıştırdığınız için bunu systemd olarak değiştirin:
Tamamladıktan sonra kaydedin ve kapatın. Yapılandırma dosyasında yaptığınız değişiklikleri yansıtmak için Redis hizmetini yeniden başlatacak aşağıdaki kodu girin:
sudo systemctl restart redis.service