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.