Caching improvements
This commit is contained in:
parent
01f520b587
commit
ada3865f6a
|
|
@ -30,7 +30,7 @@ class AllJudgesCount implements CalculateEntryScore
|
||||||
|
|
||||||
$cacheKey = 'entryScore-'.$entry->id.'-'.$mode;
|
$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->isEntryANoShow($entry);
|
||||||
$this->basicValidation($mode, $entry);
|
$this->basicValidation($mode, $entry);
|
||||||
$this->areAllJudgesIn($entry);
|
$this->areAllJudgesIn($entry);
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ class AllowForOlympicScoring implements CalculateEntryScore
|
||||||
|
|
||||||
$cacheKey = 'entryScore-'.$entry->id.'-'.$mode;
|
$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->basicValidation($mode, $entry);
|
||||||
$this->isEntryANoShow($entry);
|
$this->isEntryANoShow($entry);
|
||||||
$this->areAllJudgesIn($entry);
|
$this->areAllJudgesIn($entry);
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ class RankAuditionEntries
|
||||||
{
|
{
|
||||||
$cacheKey = 'audition'.$audition->id.$mode;
|
$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);
|
return $this->calculateRank($mode, $audition);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ use App\Models\Event;
|
||||||
use App\Models\SeatingLimit;
|
use App\Models\SeatingLimit;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\Cache;
|
||||||
|
|
||||||
use function redirect;
|
use function redirect;
|
||||||
|
|
||||||
|
|
@ -85,6 +86,7 @@ class EnsembleController extends Controller
|
||||||
|
|
||||||
public function seatingLimitsSet(Request $request, Ensemble $ensemble)
|
public function seatingLimitsSet(Request $request, Ensemble $ensemble)
|
||||||
{
|
{
|
||||||
|
Cache::forget('auditionSeatingLimits');
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'audition' => 'required',
|
'audition' => 'required',
|
||||||
'audition.*' => ['integer', 'min:0'],
|
'audition.*' => ['integer', 'min:0'],
|
||||||
|
|
|
||||||
|
|
@ -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
|
// TODO define actions for each possible type filter from index.blade.php of the admin entry
|
||||||
match ($filters['entry_type']) {
|
match ($filters['entry_type']) {
|
||||||
'all' => null,
|
'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'];
|
$perPage = $filters['entries_per_page'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ namespace App\Models;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasOneThrough;
|
use Illuminate\Database\Eloquent\Relations\HasOneThrough;
|
||||||
|
use Illuminate\Support\Facades\Cache;
|
||||||
|
|
||||||
class ScoreSheet extends Model
|
class ScoreSheet extends Model
|
||||||
{
|
{
|
||||||
|
|
@ -65,6 +66,10 @@ class ScoreSheet extends Model
|
||||||
$entry = $this->entry;
|
$entry = $this->entry;
|
||||||
if ($entry) {
|
if ($entry) {
|
||||||
$entry->calculatedScores()->delete();
|
$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');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ class AuditionService
|
||||||
{
|
{
|
||||||
$cacheKey = 'auditionSubscores-'.$audition->id.'-'.$mode.'-'.$sort;
|
$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->validateAudition($audition);
|
||||||
$this->validateMode($mode);
|
$this->validateMode($mode);
|
||||||
$this->validateSort($sort);
|
$this->validateSort($sort);
|
||||||
|
|
@ -85,7 +85,7 @@ class AuditionService
|
||||||
public function getSeatingLimits(Audition $audition)
|
public function getSeatingLimits(Audition $audition)
|
||||||
{
|
{
|
||||||
$cacheKey = 'auditionSeatingLimits';
|
$cacheKey = 'auditionSeatingLimits';
|
||||||
$allLimits = Cache::remember($cacheKey, 60, function () {
|
$allLimits = Cache::remember($cacheKey, 300, function () {
|
||||||
$lims = [];
|
$lims = [];
|
||||||
$auditions = Audition::all();
|
$auditions = Audition::all();
|
||||||
$ensembles = Ensemble::orderBy('rank')->get();
|
$ensembles = Ensemble::orderBy('rank')->get();
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ class DoublerService
|
||||||
{
|
{
|
||||||
$cacheKey = 'event'.$event->id.'doublers-'.$mode;
|
$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);
|
return $this->findDoublersForEvent($event, $mode);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue