
Redis Kurulumu ve Web Uygulaması Önbellekleme Rehberi
Redis nasıl kurulur ve web uygulamalarında nasıl kullanılır? WordPress oturum önbelleği, PHP Redis entegrasyonu, Node.js Redis kullanımı ve Redis güvenlik rehberi.
Redis Kurulumu ve Web Uygulaması Önbellekleme Rehberi
Redis (Remote Dictionary Server), in-memory veri yapısı deposudur. Önbellekleme, oturum yönetimi, gerçek zamanlı istatistikler ve kuyruklama için kullanılan Redis, web uygulamalarının performansını dramatik biçimde artırır. Bu rehberde Redis kurulumunu ve yaygın kullanım senaryolarını ele alıyoruz.
Redis Neden Kullanılır?
- Hız: Tüm veriler RAM'de tutulur, mikrosaniye düzeyinde yanıt süresi
- Veri yapıları: String, Hash, List, Set, Sorted Set gibi zengin veri tipleri
- Kalıcılık: Opsiyonel disk yazımı ile veri korunabilir
- Pub/Sub: Mesajlaşma sistemi
- Session yönetimi: Çok sunuculu ortamlarda oturum paylaşımı
Performans Karşılaştırması:
- MySQL sorgusu: 1-10ms
- Redis okuma: 0.1-1ms
- 10-100x daha hızlı
Redis Kurulumu
Ubuntu / Debian
apt update
apt install redis-server
# Yapılandırma
nano /etc/redis/redis.conf
# Servisi başlat
systemctl enable --now redis-server
AlmaLinux / CentOS
dnf install redis
systemctl enable --now redis
# Yapılandırma
nano /etc/redis/redis.conf
Sürüm Kontrolü
redis-cli --version
redis-server --version
Redis Temel Yapılandırma
/etc/redis/redis.conf:
# Sadece localhost dinle (güvenlik)
bind 127.0.0.1
# Şifre koru
requirepass guclu_redis_sifresi
# Maksimum bellek
maxmemory 256mb
# Bellek dolduğunda ne yap?
maxmemory-policy allkeys-lru # En az kullanılanı çıkar
# Kalıcılık (opsiyonel)
# 900 saniyede 1 değişiklik
save 900 1
save 300 10
save 60 10000
Değişiklik sonrası:
systemctl restart redis-server
Redis CLI Kullanımı
# Redis'e bağlan
redis-cli
# Şifre ile bağlan
redis-cli -a redis_sifresi
# Bağlantı testi
redis-cli ping # PONG dönmeli
Temel Redis Komutları
# String işlemleri
SET anahtar deger
GET anahtar
DEL anahtar
TTL anahtar # Kalan süre (saniye)
EXPIRE anahtar 3600 # 1 saat sonra sil
# Hash işlemleri
HSET kullanici:1 isim "Ahmet" yas 25
HGET kullanici:1 isim
HGETALL kullanici:1
# Liste işlemleri
RPUSH gorev "Görev 1"
RPUSH gorev "Görev 2"
LRANGE gorev 0 -1 # Tüm liste
# Set işlemleri
SADD etiketler "redis" "php" "web"
SMEMBERS etiketler
# Tüm anahtarlar
KEYS *
KEYS kullanici:* # Pattern ile
# İstatistik
INFO
INFO memory
INFO stats
WordPress için Redis Object Cache
WordPress, her sayfa yüklemesinde onlarca veritabanı sorgusu çalıştırır. Redis Object Cache bu sorguları önbelleğe alır.
Redis Object Cache Kurulumu
- WordPress'te Redis Object Cache eklentisini kurun
- wp-config.php'ye ekleyin:
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_PASSWORD', 'redis_sifresi');
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);
- Eklenti ayarlarından Enable Object Cache butonuna tıklayın
Performans Etkisi
Redis Object Cache ile:
- Veritabanı sorgu sayısı: 50 → 2-5'e düşer
- Sayfa yükleme süresi: %30-60 iyileşme
- Sunucu CPU kullanımı: %20-40 azalma
PHP ile Redis Kullanımı
PHP Redis Eklentisi Kurulumu
# Ubuntu
apt install php-redis
# CentOS/AlmaLinux
dnf install php-pecl-redis
# PHP'yi yeniden başlat
systemctl restart php-fpm
PHP Redis Örneği
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('redis_sifresi');
// Önbellekleme örneği
$cache_key = 'urunler_listesi';
$cached = $redis->get($cache_key);
if ($cached) {
$urunler = json_decode($cached, true);
echo "Önbellekten geldi";
} else {
// Veritabanından al
$urunler = $db->query("SELECT * FROM urunler LIMIT 10");
$redis->setex($cache_key, 3600, json_encode($urunler));
echo "Veritabanından geldi";
}
Node.js ile Redis Kullanımı
npm install ioredis
const Redis = require('ioredis');
const redis = new Redis({
host: '127.0.0.1',
port: 6379,
password: 'redis_sifresi',
});
// Temel kullanım
await redis.set('anahtar', 'deger', 'EX', 3600);
const deger = await redis.get('anahtar');
// Next.js API'de önbellekleme
export default async function handler(req, res) {
const cacheKey = 'products';
const cached = await redis.get(cacheKey);
if (cached) {
return res.json(JSON.parse(cached));
}
const products = await db.product.findMany();
await redis.set(cacheKey, JSON.stringify(products), 'EX', 300);
res.json(products);
}
Redis Güvenliği
# Şifre zorunlu
requirepass guclu_sifre_128bit
# Tehlikeli komutları devre dışı bırak
rename-command FLUSHALL ""
rename-command DEBUG ""
rename-command CONFIG "gizli_config_komutu"
# Sadece localhost
bind 127.0.0.1
# Protected mode
protected-mode yes
Redis Monitoring
# Anlık istatistik
redis-cli INFO
# Bellek kullanımı
redis-cli INFO memory | grep used_memory_human
# Komutları izle (debug)
redis-cli MONITOR
# Anahtar sayısı
redis-cli DBSIZE
# En yoğun kullanılan komutlar
redis-cli INFO commandstats
Büyükweb Hosting'de Redis
Büyükweb VDS sunucular üzerine Redis kurularak WordPress Object Cache ve uygulama önbellekleme için kullanılabilir. Yüksek trafikli siteler için Redis, veritabanı yükünü dramatik biçimde azaltır.
Sonuç
Redis, web uygulamalarının performansını ve ölçeklenebilirliğini artırmak için vazgeçilmez bir araçtır. WordPress için Object Cache, PHP ve Node.js için session ve sorgu önbelleği olarak kullanılan Redis, doğru konfigürasyon ile sunucu yükünü ciddi oranda azaltır.
Sunucu Guvenligi En Iyi Uygulamalar
Sunucu guvenligi surekli dikkat gerektiren bir surectir.
Guvenlik Duvari
UFW veya firewalld ile yalnizca gerekli portlari acin. SSH, HTTP, HTTPS disindaki portlari kapatin. IP whitelist kullanin.
Log Analizi
fail2ban ile basarisiz giris denemelerini otomatik engelleyin. Logwatch ile gunluk raporlar olusturun. ELK Stack ile merkezi log yonetimi kurun.
Kullanici Yonetimi
Her yonetici icin ayri hesap, root kullanmayin. sudo ile yetki verin. SSH anahtar kimlik dogrulamayi zorunlu kilin.
Dosya Butunlugu
AIDE veya Tripwire ile degisiklikleri izleyin. /tmp noexec ile mount edin. chroot ile izolasyon saglayin.
Yedekleme
3-2-1 kuralini uygulayin. Yedekleri test edin. Ransomware icin offline kopya tutun.
Sunucu Izleme
Zabbix, Prometheus+Grafana veya Netdata ile izleme yapin. Alarm kurallari tanimlayin. Uptime monitoring icin UptimeRobot kullanin. Kapasite planlamasi yaparak gelecekteki ihtiyaclari onceden belirleyin.
Sik Sorulan Sorular
Sunucum hacklendi ne yapmaliyim?
Izole edin, loglari inceleyin, temiz yedekten geri yukleyin, parolalari degistirin.
Restart oncesi ne yapmaliyim?
Aktif kullanicilari kontrol edin, servisleri kaydedin, restart sonrasi dogrulayin.
Sonuc
Sunucu guvenligi katmanli yaklasim gerektirir. Yukardaki uygulamalari sistematik olarak hayata gecirin. Buyukweb 7/24 destek ekibi yardimci olabilir.
Sunucu Bakim Takvimi
Duzenli bakim sunucu sagliginin anahtaridir:
Gunluk
- Log dosyalarini kontrol edin
- Disk kullanimini izleyin
- Yedeklerin basarisini dogrulayin
- Guvenlik uyarilarini inceleyin
Haftalik
- Guvenlik guncellemelerini uygulayin
- Veritabani optimizasyonu calistirin
- Performans metriklerini analiz edin
Aylik
- Tam sistem yedegi alin ve test edin
- Kullanici hesaplarini gozden gecirin
- SSL sertifika surelerini kontrol edin
- Kapasite planlama degerlendirmesi yapin
Yillik
- Felaket kurtarma tatbikati yapin
- Donanim yasam dongusu degerlendirmesi
- Guvenlik denetimi yapin
Sunucu Migrasyon Rehberi
- Mevcut sunucu envanterini cikartin
- Yeni sunucuyu hazirlayin ve yapilandirin
- Verileri rsync ile senkronize edin
- DNS TTL degerini dusurrun
- Son senkronizasyonu yapin ve servisleri baslatin
- DNS kayitlarini guncelleyin
- Eski sunucuyu bir sure yedek tutun
Hosting ve Sunucu Terimleri Sozlugu
| Terim | Aciklama |
|---|---|
| VDS | Virtual Dedicated Server - Sanal ozel sunucu |
| NVMe SSD | Non-Volatile Memory Express - En hizli disk teknolojisi |
| LiteSpeed | Yuksek performansli web sunucu yazilimi |
| CloudLinux | Paylasimli hosting icin kaynak izolasyon isletim sistemi |
| cPanel | Populer web hosting kontrol paneli |
| Plesk | Web hosting ve sunucu yonetim paneli |
| KVM | Kernel-based Virtual Machine - Tam sanallastirma teknolojisi |
| DDoS | Distributed Denial of Service - Dagitik hizmet engelleme saldirisi |
| SSL/TLS | Veri iletisimini sifreleyen guvenlik protokolu |
| TTFB | Time to First Byte - Sunucu yanit suresi |
| CDN | Content Delivery Network - Icerik dagitim agi |
| WAF | Web Application Firewall - Web uygulama guvenligi duvari |
| IOPS | Input/Output Operations Per Second - Disk performans olcusu |
| Uptime | Sunucunun kesintisiz calisma suresi yuzdesi |
| Bandwidth | Veri transfer kapasitesi |
Bu terimleri anlamak, hosting ve sunucu hizmetlerini daha bilinçli secmenize yardimci olur. Detayli bilgi icin Buyukweb blog yazilarini takip edin veya teknik destek ekibimize danisIn.
Etiketler:

