Zum Inhalt springen
BirdAPI powered by SKYLITE.DESIGN
Kontakt
Zurück zum Blog

Caching von Laravel-Routen mit Statamics Static Cache

Meist gelesen

Fortgeschritten

  • Laravel 12
  • PHP 8.4

Das Caching von Routen in Laravel kann die Leistung Ihrer Anwendung erheblich verbessern.

PDF / Drucken
0 Bewertungen
1.393 0 Kommentare

1. Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind: Laravel ist installiert und konfiguriert. Composer ist installiert. Grundkenntnisse in Laravel und PHP.

2. Installation von Statamic

Um Statamic zu installieren, verwenden Sie Composer:

Wechseln Sie in das neu erstellte Verzeichnis:

shell
composer create-project statamic/statamic my-statamic-site
php
cd my-statamic-site
Führen Sie die Installation aus:
php
php please install

Info

Folgen Sie den Anweisungen auf dem Bildschirm, um die Installation abzuschließen.

3. Konfiguration des Static Caches

Öffnen Sie die Datei config/statamic/static_caching.php und konfigurieren Sie die Einstellungen für den Static Cache.
php
return [
    'enabled' => true,
    'type' => 'file',
    'path' => public_path('static'),
    'exclude' => [
        'cp/*',
        '*/feed',
    ],
    'lock_hold_length' => 0,
    'static_caching_enabled' => env('STATIC_CACHING_ENABLED', true),
];
In dieser Konfiguration wird der Static Cache aktiviert und der Cache-Typ auf file gesetzt. Der Cache wird im Verzeichnis public/static gespeichert.

4. Aktivierung des Caches für Laravel-Routen

Schritt 1: Middleware hinzufügen Erstellen Sie eine neue Middleware, um den Static Cache für Laravel-Routen zu aktivieren:
shell
php artisan make:middleware StaticCache
Bearbeiten Sie die Middleware app/Http/Middleware/StaticCache.php wie folgt:
php
namespace App\Http\Middleware;

use Closure;
use Statamic\Facades\StaticCache;

class StaticCache
{
    public function handle($request, Closure $next)
    {
        if (StaticCache::isCachable($request)) {
            return StaticCache::get($request);
        }

        $response = $next($request);

        if ($response->isSuccessful()) {
            StaticCache::put($request, $response);
        }

        return $response;
    }
}

Schritt 4.2: Middleware registrieren

Registrieren Sie die Middleware in der Datei app/Http/Kernel.php:

Schritt 3: Routen cachen

php
protected $middlewareGroups = [
    'web' => [
        // Andere Middleware
        \App\Http\Middleware\StaticCache::class,
    ],
];
php
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/about', function () {
    return view('about');
});

5. Cache-Invalidierung

Es ist wichtig, den Cache zu invalidieren, wenn sich der Inhalt Ihrer Anwendung ändert. Sie können dies tun, indem Sie den Cache manuell leeren oder spezielle Regeln für die Invalidierung festlegen.
Sie können den Cache manuell leeren, indem Sie das Verzeichnis public/static löschen:
php
rm -rf public/static/*

Automatische Cache-Invalidierung

Sie können die automatische Cache-Invalidierung in der Konfigurationsdatei config/statamic/static_caching.php aktivieren:
php
'invalidation' => [
    'strategy' => 'time',
    'interval' => 600, // Cache wird alle 10 Minuten geleert
],

6. Tipps zur optimalen Nutzung

Performance-Monitoring Überwachen Sie die Performance Ihrer Anwendung regelmäßig, um sicherzustellen, dass der Cache effektiv genutzt wird. Tools wie Laravel Telescope oder Blackfire können Ihnen dabei helfen.

Info

Cache-Strategien anpassen
Passen Sie die Cache-Strategien an die Bedürfnisse Ihrer Anwendung an. Experimentieren Sie mit verschiedenen Cache-Typen und Invalidierungsstrategien, um die beste Leistung zu erzielen.

Fazit

Der Einsatz von Statamics Static Cache zur Optimierung der Laravel-Routen kann die Performance Ihrer Anwendung erheblich verbessern. Mit den oben beschriebenen Schritten können Sie den Cache einfach einrichten und effektiv nutzen. Durch die regelmäßige Überwachung und Anpassung der Cache-Strategien stellen Sie sicher, dass Ihre Anwendung stets optimal läuft.
Viel Erfolg bei der Implementierung und viel Spaß beim Entwickeln!

Kommentare 0

Noch keine Kommentare. Seien Sie der Erste!

Kommentar schreiben

Ihre Meinung ist willkommen — Kommentare erscheinen nach kurzer Prüfung.

Kommentare werden vor Veröffentlichung moderiert.