Redis Nedir?
Redis (Remote Dictionary Server), açık kaynaklı bir in-memory veri yapısı deposudur. Verileri RAM'de saklayarak mikrosaniye düzeyinde okuma ve yazma performansı sunar. Veritabanı, cache, mesaj kuyruğu ve oturum yönetimi gibi farklı amaçlarla kullanılabilir.
2026 yılında Redis, dünyanın en popüler in-memory veri yapısı deposu olma konumunu korumaktadır. Yüksek performans gerektiren uygulamalarda vazgeçilmez bir bileşen haline gelmiştir.
Redis Veri Yapıları
Strings
En temel Redis veri türüdür. Metin, sayı ve binary veriler saklanabilir. Basit cache senaryoları, sayaçlar ve oturum verileri için kullanılır.
Lists
Sıralı string listeleridir. Kuyruk (queue) ve yığın (stack) yapıları oluşturmak için idealdir. Mesaj kuyrukları ve aktivite akışları için yaygın olarak tercih edilir.
Sets ve Sorted Sets
Sets benzersiz elemanlar koleksiyonudur. Sorted Sets ise her elemana bir skor atanarak sıralı bir şekilde saklanır. Lider tabloları, gerçek zamanlı sıralamalar ve benzersiz ziyaretçi takibi için kullanılır.
Hashes
Alan-değer çiftlerinden oluşan yapılardır. Kullanıcı profilleri ve nesne temsilleri için idealdir.
Redis Kullanım Alanları
| Kullanım Alanı | Açıklama | Veri Yapısı |
|---|---|---|
| Cache | Veritabanı sorgularını önbellekleme | Strings, Hashes |
| Oturum Yönetimi | Kullanıcı oturumlarını saklama | Strings, Hashes |
| Mesaj Kuyruğu | Asenkron iş işleme | Lists, Streams |
| Lider Tablosu | Gerçek zamanlı sıralama | Sorted Sets |
| Rate Limiting | API istek sınırlama | Strings (INCR) |
| Pub/Sub | Gerçek zamanlı bildirimler | Pub/Sub kanalları |
Redis Cache Stratejileri
- Cache-Aside: Uygulama önce cache'e bakar, yoksa veritabanından okur ve cache'e yazar
- Write-Through: Her yazma işlemi hem cache hem veritabanına yapılır
- Write-Behind: Cache'e yazılır, veritabanına asenkron olarak aktarılır
- Read-Through: Cache kendisi veritabanından veriyi yükler
Redis Pub/Sub ve Streams
Pub/Sub
Redis Pub/Sub, mesaj yayınlama ve abone olma mekanizması sunar. Gerçek zamanlı bildirimler, chat uygulamaları ve olay tabanlı mimariler için kullanılır.
Redis Streams
Kafka benzeri bir log veri yapısı olan Streams, mesaj akışlarını kalıcı olarak saklar. Consumer group desteği ile ölçeklenebilir mesaj tüketimi sağlar.
Redis Kalıcılık (Persistence)
- RDB (Snapshot): Belirli aralıklarla tam veri görüntüsü diske yazılır
- AOF (Append Only File): Her yazma işlemi log dosyasına eklenir
- RDB + AOF: Her iki yöntemin birlikte kullanımı (önerilen)
Redis, hız ve basitlik arasındaki mükemmel dengeyi sunar. Doğru kullanıldığında uygulama performansını dramatik bir şekilde artırır.
Redis Cluster ve Yüksek Erişilebilirlik
Redis Cluster, verileri birden fazla düğüme dağıtarak yatay ölçeklenebilirlik sağlar. Redis Sentinel ise otomatik failover ve izleme mekanizması sunarak yüksek erişilebilirlik garanti eder.
Ekolsoft ve Redis Kullanımı
Ekolsoft, geliştirdiği web uygulamalarında Redis'i cache katmanı, oturum yönetimi ve gerçek zamanlı özellikler için etkin bir şekilde kullanmaktadır. Yüksek performanslı ve ölçeklenebilir sistemler tasarlamak için Redis entegrasyonu kritik bir rol oynamaktadır.
Sonuç olarak Redis, modern uygulama mimarisinin vazgeçilmez bir bileşenidir. Cache, mesaj kuyruğu ve gerçek zamanlı veri işleme gibi senaryolarda eşsiz performans sunar. Ekolsoft olarak, Redis'in sunduğu avantajlardan en iyi şekilde faydalanarak müşterilerimize yüksek performanslı çözümler sunmaya devam ediyoruz.