Redis (Remote Dictionary Server), açık kaynaklı, bellek içi bir veri yapısı deposudur. Veritabanı, önbellek, mesaj aracısı ve kuyruk olarak kullanılır.

Redis Veri Yapıları

  • Strings: Basit anahtar-değer çiftleri
  • Lists: Sıralı string koleksiyonları
  • Sets: Benzersiz string koleksiyonları
  • Sorted Sets: Skorlu benzersiz stringler
  • Hashes: Alan-değer çiftleri
  • Streams: Log benzeri veri yapıları

Temel Komutlar

# String işlemleri
SET user:1:name "John"
GET user:1:name
# Liste işlemleri
LPUSH notifications "new message"
RPOP notifications
# Hash işlemleri
HSET user:1 name "John" age 30
HGET user:1 name
HGETALL user:1
# Set işlemleri
SADD tags "devops" "cloud"
SMEMBERS tags
# Expiration
SET session:abc123 "data" EX 3600

Redis Kullanım Senaryoları

1. Önbellekleme

Veritabanı sorgularını önbelleğe alarak performansı artırın.

2. Oturum Yönetimi

Web uygulamalarında kullanıcı oturumlarını saklayın.

3. Gerçek Zamanlı Analitik

Sayaçlar ve istatistikler için idealdir.

4. Pub/Sub Mesajlaşma

Gerçek zamanlı mesajlaşma uygulamaları için.

5. Rate Limiting

API isteklerini sınırlamak için.

6. Kuyruk Sistemi

Arka plan görevleri için iş kuyruğu.

Redis Persistence

  • RDB: Periyodik snapshot'lar
  • AOF: Her yazma işlemini logla

Redis Cluster

Yatay ölçeklendirme ve yüksek kullanılabilirlik için Redis Cluster kullanın.

Sonuç

Redis, performans gerektiren uygulamalar için vazgeçilmez bir araçtır. Doğru kullanıldığında, uygulama performansını dramatik olarak artırabilir.