Db üzerinden yapılan sorguları şuanda redis üzerinde tutuyorum ve gözle görülür bir hızlanma sağladım.
Blade template cache alarak daha iyi performans elde etmek istiyorum. ResponseCacheMiddleware adında bir middleware oluşturdum ve RouteServiceProvider üzerinden bunu bağladım.
public function handle($request, Closure $next)
{
if ($request->method() != 'GET') {
return $next($request);
}
$key = md5($request->fullUrl());
return Cache::store('file')->remember($key, 86400, function () use ($request, $next) {
return $next($request);
});
}
Bu aşamada 2 sorum oluyor;
İlk olarak 2 sayfamda post işlemi yapılıyor ve bu sayfalardan biri show yani en fazla hit gören route yolu. Onun için o sayfayı hariç tutmak istemiyorum. csrf_token alanını replace etmek istiyorum. Bunun için nasıl bir yol izlemem gerekiyor ? spatie/laravel-responsecache paketini inceledim fakat anlayamadım.
İkinci olarak middleware ile get isteklerini aldığım cache verilerini redis üzerinde mi tutmalıyım yoksa file üzerinde mi ?
Web sitede yaklaşık 150k sayfa var ve günlük hit ortalama 150k. Sunucu 16 CPU ve SSD ye sahip.