Tüm Teknolojiler

Redis Nedir? Nedir?

Redis, bellek içi çalışan, son derece hızlı bir anahtar-değer veri yapısı deposudur.

Yayın Yılı: 2009Salvatore Sanfilippo

Redis (Remote Dictionary Server), 2009 yılında Salvatore Sanfilippo tarafından geliştirilmiştir. Tüm verileri bellekte (RAM) tutan Redis, mikrosaniye düzeyinde okuma/yazma performansı sunar. Basit bir anahtar-değer deposu olmanın ötesinde, string, list, set, sorted set, hash, stream, bitmap ve HyperLogLog gibi zengin veri yapılarını destekler. Redis'in en yaygın kullanım alanları önbellekleme (caching), oturum yönetimi (session store), mesaj kuyruğu (pub/sub ve streams), gerçek zamanlı liderlik tabloları ve hız sınırlama (rate limiting) gibi senaryolardır. Lua scripting desteği ile atomik işlemler gerçekleştirilebilir. Redis, RDB snapshot'ları ve AOF (Append-Only File) ile veri kalıcılığı sağlar. Redis Sentinel ile yüksek erişilebilirlik, Redis Cluster ile otomatik veri bölümleme (partitioning) yapılır. Redis Stack, JSON, arama, zaman serisi ve graf veri modelleri ekler. Twitter, GitHub, Pinterest, Snapchat, StackOverflow gibi yüksek trafikli platformlar Redis'i yoğun olarak kullanmaktadır. Pratik olarak her modern web uygulamasının altyapısında bir Redis örneği bulunur.

Kullanım Alanları

Önbellekleme (caching), Oturum yönetimi, Mesaj kuyruğu (pub/sub), Gerçek zamanlı analitik, Hız sınırlama (rate limiting)

Avantajları

Mikrosaniye düzeyinde performans, Zengin veri yapısı desteği, Pub/Sub ve Streams ile mesajlaşma, Çok yönlü kullanım alanları, Basit ve kolay kullanım

Dezavantajları

Veri boyutu RAM ile sınırlı, Karmaşık sorgu desteği yok, Kalıcılık garantileri ilişkisel DB'ler kadar güçlü değil, Maliyet (RAM pahalı)