Caching improvements

This commit is contained in:
Matt Young 2024-11-09 01:53:31 -06:00
parent 01f520b587
commit ada3865f6a
8 changed files with 16 additions and 9 deletions

View File

@ -30,7 +30,7 @@ class AllJudgesCount implements CalculateEntryScore
$cacheKey = 'entryScore-'.$entry->id.'-'.$mode;
return Cache::remember($cacheKey, 10, function () use ($mode, $entry) {
return Cache::remember($cacheKey, 300, function () use ($mode, $entry) {
$this->isEntryANoShow($entry);
$this->basicValidation($mode, $entry);
$this->areAllJudgesIn($entry);

View File

@ -42,7 +42,7 @@ class AllowForOlympicScoring implements CalculateEntryScore
$cacheKey = 'entryScore-'.$entry->id.'-'.$mode;
return Cache::remember($cacheKey, 10, function () use ($mode, $entry) {
return Cache::remember($cacheKey, 300, function () use ($mode, $entry) {
$this->basicValidation($mode, $entry);
$this->isEntryANoShow($entry);
$this->areAllJudgesIn($entry);

View File

@ -24,7 +24,7 @@ class RankAuditionEntries
{
$cacheKey = 'audition'.$audition->id.$mode;
return Cache::remember($cacheKey, 30, function () use ($mode, $audition) {
return Cache::remember($cacheKey, 300, function () use ($mode, $audition) {
return $this->calculateRank($mode, $audition);
});

View File

@ -8,6 +8,7 @@ use App\Models\Event;
use App\Models\SeatingLimit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
use function redirect;
@ -85,6 +86,7 @@ class EnsembleController extends Controller
public function seatingLimitsSet(Request $request, Ensemble $ensemble)
{
Cache::forget('auditionSeatingLimits');
$request->validate([
'audition' => 'required',
'audition.*' => ['integer', 'min:0'],

View File

@ -68,7 +68,7 @@ class EntryController extends Controller
});
}
if ($filters['entry_type']) {
if (isset($filters['entry_type']) && $filters['entry_type']) {
// TODO define actions for each possible type filter from index.blade.php of the admin entry
match ($filters['entry_type']) {
'all' => null,
@ -80,7 +80,7 @@ class EntryController extends Controller
};
}
if ($filters['entries_per_page']) {
if (isset($filters['entries_per_page']) && $filters['entries_per_page']) {
$perPage = $filters['entries_per_page'];
}

View File

@ -5,6 +5,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasOneThrough;
use Illuminate\Support\Facades\Cache;
class ScoreSheet extends Model
{
@ -65,6 +66,10 @@ class ScoreSheet extends Model
$entry = $this->entry;
if ($entry) {
$entry->calculatedScores()->delete();
Cache::forget('entryScore-'.$entry->id.'-seating');
Cache::forget('entryScore-'.$entry->id.'-advancement');
Cache::forget('audition'.$entry->audition_id.'seating');
Cache::forget('audition'.$entry->audition_id.'advancement');
}
}
}

View File

@ -31,7 +31,7 @@ class AuditionService
{
$cacheKey = 'auditionSubscores-'.$audition->id.'-'.$mode.'-'.$sort;
return Cache::remember($cacheKey, 10, function () use ($audition, $mode, $sort) {
return Cache::remember($cacheKey, 300, function () use ($audition, $mode, $sort) {
$this->validateAudition($audition);
$this->validateMode($mode);
$this->validateSort($sort);
@ -85,7 +85,7 @@ class AuditionService
public function getSeatingLimits(Audition $audition)
{
$cacheKey = 'auditionSeatingLimits';
$allLimits = Cache::remember($cacheKey, 60, function () {
$allLimits = Cache::remember($cacheKey, 300, function () {
$lims = [];
$auditions = Audition::all();
$ensembles = Ensemble::orderBy('rank')->get();

View File

@ -29,7 +29,7 @@ class DoublerService
{
$cacheKey = 'event'.$event->id.'doublers-'.$mode;
return Cache::remember($cacheKey, 60, function () use ($event, $mode) {
return Cache::remember($cacheKey, 300, function () use ($event, $mode) {
return $this->findDoublersForEvent($event, $mode);
});
}