Redis Nedir? Ubuntu Üzerine Redis Server Kurulumu ve Yapılandırması

Redis (Remote Dictionary Server), açık kaynaklı, bellek tabanlı (in-memory) bir anahtar-değer veri deposu (key-value store) çözümüdür.

Yüksek performansı, düşük gecikme süresi ve geniş veri yapısı desteği ile önbellekleme (caching), oturum yönetimi (session management), sıralı veri saklama gibi birçok senaryoda tercih edilir.

Redis’in öne çıkan özellikleri:

  • Bellek içi veri saklama → Çok hızlı okuma/yazma.
  • Veri yapısı çeşitliliği → String, Hash, List, Set, Sorted Set.
  • Persistency (kalıcılık) → RDB (snapshot) ve AOF (append-only) desteği.
  • Replication & High Availability → Master-Slave replikasyonu, Sentinel ile yüksek erişilebilirlik.
  • Cluster desteği → Büyük ölçekli dağıtık veri yönetimi.

Kullanım Alanları

  • Web uygulamalarında önbellek (Laravel, Django, Spring Boot gibi framework’lerde)
  • Gerçek zamanlı veri analizi (leaderboard, sayaç)
  • Mesaj kuyruğu (Pub/Sub sistemi)
  • API hız limitleme
  • Oturum yönetimi (session store)

Ubuntu Üzerinde Redis Server Kurulumu

Aşağıdaki adımlar Ubuntu 20.04 / 22.04 LTS sürümleri için geçerlidir.

1. Sistem Paketlerini Güncelleyin

sudo apt update && sudo apt upgrade -y

Açıklama: Sunucu paketlerini en güncel versiyona getirir.

2. Redis Server’ı Kurun

sudo apt install redis-server -y

Açıklama: Ubuntu paket depolarından Redis Server’ı indirip kurar.

3. Redis Servisini Başlatın ve Etkinleştirin

sudo systemctl start redis-server
sudo systemctl enable redis-server

Açıklama: Redis servisini başlatır ve sunucu yeniden başlatıldığında otomatik çalışmasını sağlar.

4. Redis Kurulumunu Doğrulama

redis-cli ping

Beklenen çıktı:

PONG

Açıklama: Redis’e komut satırından bağlanır ve “PONG” cevabı alırsanız başarılı çalışıyor demektir.

5. Yapılandırma (redis.conf)

sudo nano /etc/redis/redis.conf

Önemli ayarlar:

  • supervised systemd → Systemd ile uyumlu çalışması için etkinleştirin.
  • bind 127.0.0.1 → Varsayılan olarak sadece localhost’tan bağlantı kabul eder (güvenlik için önemli).
  • requirepass <parola> → Redis’e parola ile erişim sağlamak için ekleyin.

Değişikliklerden sonra:

sudo systemctl restart redis-server

Yukarıdaki komut yaptığınız değişikliklerin uygulanması için Redis Server ı yeniden başlatacaktır.

6. Redis’i Uzak Bağlantılara Açmak (Opsiyonel)

Varsayılan olarak Redis sadece yerel bağlantıya açıktır. Uzak bağlantı gerekiyorsa:

  • bind 0.0.0.0 olarak değiştirin.
  • Güvenlik duvarında (UFW) port 6379’u sadece izinli IP’lere açın:
sudo ufw allow from <IP_ADRESI> to any port 6379

Güvenlik Notu: Redis’i internet üzerinden doğrudan erişilebilir bırakmak tehlikelidir. Mutlaka parola koruması ve firewall kullanın.

7. Redis’in Arka Planda Çalışmasını Sağlama

Ubuntu 20.04+ sürümlerinde supervised ayarını systemd olarak değiştirin: Ubuntu 24.04 sürümünde aşağıda ki değişiklikleri yapmanıza gerek yok. Redis 7.x de bu ayarlar yapılmış olarak yükleniyor.

sudo nano /etc/redis/redis.conf

Aşağıdaki satırı bulun ve değiştirin:

supervised no

şu şekilde yapın:

supervised systemd

Kaydedip çıkın, ardından:

sudo systemctl restart redis-server

Redis Performans ve Güvenlik İpuçları

  • Persistency ayarlarını optimize edin: Yüksek yazma trafiğinde AOF modunu “appendfsync everysec” olarak ayarlayın.
  • Maksimum bellek limiti belirleyin: maxmemory ayarı ile bellek taşmalarını engelleyin.
  • Şifre koruması ekleyin: requirepass ile Redis CLI ve istemcilerden erişimde parola zorunlu kılın.
  • Uzak erişimi kısıtlayın: Firewall ile sadece güvenilir IP’lere izin verin.
  • Monitoring yapın: redis-cli monitor ile anlık komutları takip edin.