Tüm Sayfalar / 66 - Redis Cache
66 / 161
Hız Katmanı

Redis Cache

Verilere anında erişim

Biz Ne Yaptık?

Redis kurarak sistemi hızlandırdık. Redis, verileri RAM bellekte tutar. Disk yerine RAM'den okumak 100 kat daha hızlı.

Sık kullanılan veriler: Kullanıcı bilgileri, şarkı meta verileri, playlist'ler... Hepsi Redis'te. Veritabanına gitmeden anında geliyor.

Oturum bilgileri de Redis'te. Binlerce kullanıcı aynı anda aktif olsa bile sistem yavaşlamaz.

MySQL (Disk)
50-100 ms
Ortalama sorgu süresi
Redis (RAM)
0.5-1 ms
Ortalama sorgu süresi

Arkada Ne Oluyor?

Key-Value Yapısı

Redis veriyi "anahtar-değer" çiftleri olarak tutar. Anahtar verirsin, değer gelir.

user:1234 => {name: "Ahmet", email: "..."}
song:5678 => {title: "Yaz Yağmuru", artist: "..."}
session:abc => {user_id: 1234, device: "..."}

Cache Stratejisi

Redis'te Ara
Yoksa DB
Redis'e Kaydet

Neler Cache'leniyor?

Oturum bilgileri
Kullanıcı profilleri
Şarkı meta verileri
Playlist içerikleri
API rate limitleri
Ayarlar

Admin Panelden Ne Görebilirsiniz?

Redis İstatistikleri

Dashboard > Sistem > Redis

Bellek Kullanımı

Dashboard > Sistem > RAM

Cache Temizleme

Ayarlar > Cache > Temizle

Key Sayısı

Dashboard > Redis Keys

Arkaplanda Neler Çalışıyor?

Bir veri istendiğinde Laravel'in Cache facade'i devreye girer. Redis bağlantısı üzerinden veri aranır, yoksa veritabanından çekilip cache'lenir.

Cache Sorgusu

Cache::get('user:1234') çağrılır. Laravel Illuminate\Cache\RedisStore üzerinden Redis'e bağlanır.

Redis GET Komutu

Redis GET laravel_cache:user:1234 komutunu çalıştırır. RAM'den okuma ~0.5ms sürer.

Hit Durumu

Veri bulunursa unserialize() ile PHP objesine dönüştürülür ve döndürülür. DB'ye gitmeden sonuç alınır.

Miss Durumu

Cache::remember() kullanılıyorsa closure çalışır. User::find(1234) ile DB'den çekilir.

Cache'e Yazma

Redis SETEX key ttl value komutu ile veri ve TTL birlikte kaydedilir. serialize() ile string'e çevrilir.

Invalidation

Veri güncellenince Cache::forget('user:1234') çağrılır. Redis DEL komutuyla key'i siler.

Bu Sayfanın Anahtar Terimleri

Redis

Remote Dictionary Server. Bellekte veri tutan ultra hızlı veritabanı.

Key-Value Store

Anahtar-değer deposu. Veriyi isimle kaydedip isimle çağırma.

TTL (Time To Live)

Verinin ne kadar süre bellekte kalacağı. Süre dolunca silinir.

Cache Hit/Miss

Veri cache'te bulundu (hit) veya bulunamadı (miss).

Redis
In-Memory Data Store
user:1234 => {name:"Ahmet"}
song:5678 => {title:"..."}
sess:abc => {user:1234}
cache:pl => [songs...]
24,582
Aktif Key
98%
Hit Rate
Ortalama Yanıt Süresi
0.5
milisaniye
0ms 100ms (DB)