Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: FilamentPHP’de Önbellek Kullanımı (Yeni Başlayanlar için Rehber + En İyi Uygulamalar)
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » FilamentPHP’de Önbellek Kullanımı (Yeni Başlayanlar için Rehber + En İyi Uygulamalar)

Yazılım

FilamentPHP’de Önbellek Kullanımı (Yeni Başlayanlar için Rehber + En İyi Uygulamalar)

teknomers
Son güncelleme: 15 Nisan 2026 00:22
teknomers
Paylaş
Paylaş

Cache, veritabanından sürekli veri çekmek yerine bellekte hızlı bir şekilde veri almayı sağlayan bir sistemdir. Bu sayede uygulamanızın performansı önemli ölçüde artar.

👉 Performans artışı sağlar.


use Illuminate\Support\Facades\Cache;
use App\Models\Product;

$products = Cache::rememberForever('active_products', function () {
    return Product::with('category')->where('active', 1)->get();
});

🧠 Bu nasıl çalışır?

  • İlk seferde veritabanından veri alınır.
  • Sonraki işlemlerde veri cache’den sağlanır.
  • Manuel olarak temizlenmedikçe veriler sürekli saklanır.

Önemli: Ürün güncellendiğinde cache güncellenmez ❌


📍 app/Traits/ClearsCache.php

namespace App\Traits;

use Illuminate\Support\Facades\Cache;

trait ClearsCache
{
    protected function clearCache(string $key): void
    {
        Cache::forget($key);
    }
}

📍 Observer oluşturma:

php artisan make:observer ProductObserver --model=Product

✍️ Observer kodu:

namespace App\Observers;

use App\Models\Product;
use App\Traits\ClearsCache;
use App\Events\ProductUpdated;

class ProductObserver
{
    use ClearsCache;

    protected function clearAll(): void
    {
        $this->clearCache();
    }

    public function created(Product $product)
    {
        $this->clearAll();
        event(new ProductUpdated());
    }

    public function updated(Product $product)
    {
        $this->clearAll();
        event(new ProductUpdated());
    }

    public function deleted(Product $product)
    {
        $this->clearAll();
        event(new ProductUpdated());
    }
}

📍 AppServiceProvider.php

use App\Models\Product;
use App\Observers\ProductObserver;

public function boot(): void
{
    Product::observe(ProductObserver::class);
}

use Illuminate\Support\Facades\Cache;
use App\Models\Product;

public static function getEloquentQuery()
{
    return Cache::rememberForever(, function () {
        return Product::with()->where(, 1);
    });
}

📍 ListProducts.php

protected $listeners = [=> ];

🧩 Köprü Olay

use Illuminate\Support\Facades\Event;
use App\Events\ProductUpdated;

public function mount(): void
{
    parent::mount();

    Event::listen(ProductUpdated::class, function () {
        $this->dispatch();
    });
}

Admin ürünü güncelliyor
        ↓
Observer çalışıyor
        ↓
Cache temizleniyor
        ↓
Olay tetikleniyor
        ↓
Livewire, olayı yakalıyor
        ↓
UI güncelleniyor ($refresh)
        ↓
Kullanıcı güncellenmiş verileri görüyor

✅ Cache isimlendirme

İyi:

  • active_products
  • active_products_with_category

Kötü:


✅ Her zaman değişiklikte cache’i temizleyin


✅ Observer kullanın (controller yerine)

✔ Temiz
✔ Ölçeklenebilir


Cache = hız ⚡

Observer = tazelik 🔄

Trait = yeniden kullanım ♻️

Event = iletişim 📡

Livewire = UI güncellemeleri 🎯


“Cache okuma hızını artırır, Observer tazeliği korur, Livewire UI’yi günceller.”

Kaynak: Orijinal Makale

Contents
  • 🧠 Bu nasıl çalışır?
  • ✍️ Observer kodu:
  • 🧩 Köprü Olay
  • ✅ Cache isimlendirme
  • ✅ Her zaman değişiklikte cache’i temizleyin
  • ✅ Observer kullanın (controller yerine)
Laravel’in Fabrika İlişkilerinizi Neden Tahmin Edemediği
Laravel’de Kontrolcüler ve Ara Katman Kullanımı için Kapsamlı Rehber
Laravel ve React ile Sunucu Tarafında Renderleme (Inertia.js Kullanarak)
CRUD Kontrolcüleri Yazmayı Bırakın – DEV Community
Laravel Admin Panellerini Sıfırdan Yapmayı Bırakın — Lara Dashboard ile Tanışın
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Windrose’da İşbirlikçi Çoklu Oyuncunun Dinamikleri
Sonraki Makale Elon Musk’a Senatörden X Money Planlarıyla İlgili Sıkı Soruşturma

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Z.ai, Mythos ile Siber Güvenlikte Yarışıyor
Liste
Temmuz’da Yürürlüğe Girecek Gürültülü Yayın Reklamlarına Yasa Getirildi
Genel
Suno, Bağımsız Sanatçıları AI Makinesine Besleyecek Spark Kuluçka Programını Başlattı
Liste
Monkey Soccer için heyecan verici güncellemeler geliyor!
Oyun
Ford Çalışanlarını Yeniden İstihdam Ediyor: AI Beklentileri Karşılamadı
Genel
PlayStation, İngiltere’deki 500’den fazla filmi siliyor
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?