Heim >PHP-Framework >Laravel >So verwenden Sie Laravel, um die Daten-Caching-Funktion zu implementieren

So verwenden Sie Laravel, um die Daten-Caching-Funktion zu implementieren

王林
王林Original
2023-11-02 08:24:241155Durchsuche

So verwenden Sie Laravel, um die Daten-Caching-Funktion zu implementieren

Mit der kontinuierlichen Weiterentwicklung von Webanwendungen ist das Zwischenspeichern von Daten zu einem wichtigen Mittel zur Verbesserung der Anwendungsleistung geworden. Als beliebtes PHP-Framework bietet Laravel auch einige praktische Daten-Caching-Funktionen. In diesem Artikel schauen wir uns an, wie man Daten-Caching in Laravel implementiert und stellen einige konkrete Codebeispiele bereit.

Vorteile der Verwendung von Caching

Bevor wir erklären, wie man Daten-Caching in Laravel implementiert, wollen wir zunächst verstehen, warum wir Caching benötigen.

Wenn Ihre Anwendung häufig die Datenbank abfragen oder APIs aufrufen muss, um Daten abzurufen, nehmen diese Vorgänge wertvolle Zeit und Ressourcen in Anspruch. Und wenn Sie einen Cache zum Speichern dieser Daten verwenden, kann die Anwendung die Daten aus dem Cache abrufen, ohne sie jedes Mal aus der Datenbank oder API abrufen zu müssen. Dies kann die Anwendungsleistung erheblich verbessern und den Ressourcenverbrauch reduzieren.

Caching implementieren

In Laravel können wir die Caching-Funktion verwenden, um einige häufig verwendete Daten oder Seitenfragmente zwischenzuspeichern.

Zuerst müssen Sie bestätigen, dass Cache-Treiber wie Redis installiert wurden. Um Redis zu installieren, können Sie den folgenden Befehl verwenden:

composer require predis/predis

Nach Abschluss der Installation können Sie Ihren Datencache-Treiber konfigurieren. Öffnen Sie die Datei config/cache.php und Sie finden eine Konfiguration ähnlich der folgenden:

'default' => env('CACHE_DRIVER', 'file'),

Sie können den Cache-Treiber auf Redis ändern und unten eine Cache-Verbindung einrichten:

'default' => env('CACHE_DRIVER', 'redis'),

'redis' => [
    'client' => 'predis',
    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => env('REDIS_DB', 0),
    ],
],

Jetzt haben Sie die Cache-Einrichtung abgeschlossen und können Beginnen Sie mit der Verwendung der Caching-Funktion.

Daten zwischenspeichern

Das Zwischenspeichern von Daten kann sehr einfach sein. Laravel bietet viele Funktionen, um das Zwischenspeichern einfach zu implementieren.

// 缓存一个键值对
Cache::put('key', 'value', 60);

// 缓存一个键值对,如果已经存在则不缓存
Cache::add('key', 'value', 60);

// 永久缓存一个键值对
Cache::forever('key', 'value');

// 从缓存中获取一个数据
$value = Cache::get('key');

// 从缓存中获取一个数据,如果不存在,则返回一个默认值
$value = Cache::get('key', 'default');

// 判断一个键是否存在缓存中
if (Cache::has('key')) {
    //
}

// 从缓存中删除一个键
Cache::forget('key');

// 从缓存中删除所有数据
Cache::flush();

Cache-Ansichten

Laravels View-Caching-Funktion kann uns in 85 % der Fälle dabei helfen, Webseiten zwischenzuspeichern und die Reaktionsgeschwindigkeit von Webseiten zu verbessern.

Um das Caching von Ansichten zu aktivieren, fügen Sie einfach Folgendes zur Datei /routes/web.php hinzu:

Route::get('/', function () {
    $expiresAt = Carbon::now()->addMinutes(10);
    $response = response()->view('welcome')->withHeaders([
        'Cache-Control' => 'max-age=600, public',
        'Expires' => $expiresAt->toDateTimeString(),
    ]);
    return $response;
})->middleware(['cache.headers:10']);

Im obigen Code haben wir der Route eine Cache.headers-Middleware hinzugefügt, die einen 10-Minuten-Cache bereitstellt.

Cache-Abfragen

Laravel ermöglicht es uns auch, Abfragen zwischenzuspeichern, um zu vermeiden, dass dieselben Daten wiederholt abgefragt werden.

$users = Cache::remember('users', 60, function () {
    return DB::table('users')->get();
});

Der obige Code ruft den Schlüssel mit dem Namen „users“ aus dem Cache ab. Wenn der Schlüssel nicht im Cache vorhanden ist, wird die Callback-Funktion ausgeführt und das Ergebnis im Cache gespeichert. In diesem Beispiel werden die Ergebnisse innerhalb von 60 Sekunden im Cache gespeichert. Wenn Sie Abfragen für immer zwischenspeichern müssen, verwenden Sie die Methode Cache::rememberForever anstelle von Cache::remember.

In diesem Beispiel haben wir DB::table('users')->get() zwischengespeichert, aber Sie können jede in Laravel verfügbare Abfrage-Builder-Methode verwenden.

Cache leeren

Wenn Sie den Cache leeren müssen, können Sie jederzeit die Methode Cache::flush verwenden. Wenn Sie jedoch nur ein bestimmtes Cache-Element löschen müssen, können Sie die Methode Cache::forget verwenden.

// 删除name键的缓存项
Cache::forget('name');

// 清除所有缓存项
Cache::flush();

Zusammenfassung

In diesem Artikel haben wir die Verwendung der Caching-Funktionalität in Laravel vorgestellt und konkreten Beispielcode bereitgestellt. Durch die Verwendung von Caching können wir die Leistung unserer Anwendung erheblich verbessern und den Ressourcenverbrauch reduzieren. Wenn Sie bei der Verwendung von Laravel Caching-Funktionen benötigen, sollten Sie die in diesem Artikel bereitgestellten Methoden in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Laravel, um die Daten-Caching-Funktion zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn