Homepage Query Caching

This commit is contained in:
Refringe 2024-09-15 23:27:00 -04:00
parent e1b406f75e
commit 7909f629c6
Signed by: Refringe
SSH Key Fingerprint: SHA256:t865XsQpfTeqPRBMN2G6+N8wlDjkgUCZF3WGW6O9N/k

View File

@ -5,6 +5,7 @@ namespace App\View\Components;
use App\Models\Mod;
use Illuminate\Contracts\View\View;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Facades\Cache;
use Illuminate\View\Component;
class HomepageMods extends Component
@ -37,6 +38,7 @@ class HomepageMods extends Component
*/
private function fetchFeaturedMods(): Collection
{
return Cache::flexible('homepage-featured-mods', [5, 10], function () {
return Mod::whereFeatured(true)
->with([
'latestVersion',
@ -47,6 +49,7 @@ class HomepageMods extends Component
->inRandomOrder()
->limit(6)
->get();
});
}
/**
@ -56,6 +59,7 @@ class HomepageMods extends Component
*/
private function fetchLatestMods(): Collection
{
return Cache::flexible('homepage-latest-mods', [5, 10], function () {
return Mod::orderByDesc('created_at')
->with([
'latestVersion',
@ -65,6 +69,7 @@ class HomepageMods extends Component
])
->limit(6)
->get();
});
}
/**
@ -74,6 +79,7 @@ class HomepageMods extends Component
*/
private function fetchUpdatedMods(): Collection
{
return Cache::flexible('homepage-updated-mods', [5, 10], function () {
return Mod::orderByDesc('updated_at')
->with([
'latestUpdatedVersion',
@ -83,5 +89,6 @@ class HomepageMods extends Component
])
->limit(6)
->get();
});
}
}