APCu, PHP için kullanılan paylaşımlı bellek tabanlı bir cache (önbellek) uzantısıdır. Açılımı Alternative PHP Cache – User Cache’tir.
APCu nedir?
APCu, PHP değişkenlerini RAM’de saklamanı sağlar. Böylece aynı veri her istek geldiğinde:
- tekrar hesaplanmaz,
- tekrar veritabanından çekilmez,
- dosyadan tekrar okunmaz.
⚠️ Önemli:
APCu sadece user cache’tir.
Eskiden APC opcode cache de yapıyordu ama artık opcode cache işi OPcache’e aittir.
Neden kullanmalıyız?
1️⃣ Performans artışı
RAM’den okuma:
- Veritabanından okumaya göre çok daha hızlıdır
- Hesaplama maliyetini düşürür
Örnek:
- Ayarlar
- Feature flag’ler
- Yetki listeleri
- Sık kullanılan sorgu sonuçları
Daha az veritabanı yükü
Aynı veriye her request’te DB gitmek yerine:
- İlkinde DB → APCu
- Sonrakiler → direkt APCu
Bu da:
- Daha az sorgu
- Daha az latency
- Daha iyi ölçeklenebilirlik
Kullanımı çok basit
Redis / Memcached’e göre:
- Ek servis kurmaya gerek yok
- PHP extension olarak çalışır
- Tek sunuculu sistemlerde çok idealdir
Session & küçük veriler için ideal
Şunlar için çok uygundur:
- Küçük–orta boyutlu veriler
- Sık okunan, nadir değişen bilgiler
- Request bazlı shared data
Ne zaman APCu kullanmamalıyız?
❌ Birden fazla sunucu varsa
- APCu sunucuya özeldir
- Load balancer arkasında tutarsızlık olur
❌ Büyük veriler için
-
RAM’i hızla doldurur
❌ Kalıcı veri için
- Restart olunca cache silinir
Bu durumlarda:
- Redis
- Memcached
daha doğru seçimdir.