Maison  >  Article  >  cadre php  >  Comment utiliser un middleware pour l'optimisation du cache dans Laravel

Comment utiliser un middleware pour l'optimisation du cache dans Laravel

王林
王林original
2023-11-02 13:31:51971parcourir

Comment utiliser un middleware pour loptimisation du cache dans Laravel

Comment utiliser le middleware pour l'optimisation de la mise en cache dans Laravel

La mise en cache est une technique d'optimisation qui peut améliorer considérablement les performances et la réactivité de votre application. Dans le framework Laravel, nous pouvons utiliser un middleware pour optimiser la mise en cache. Cet article présentera en détail comment utiliser le middleware pour l'optimisation du cache dans Laravel et fournira des exemples de code spécifiques.

  1. Installer et configurer le middleware
    Tout d'abord, nous devons installer le package de cache de Laravel. Vous pouvez utiliser la commande suivante pour installer :

composer require illuminate/cache

Une fois l'installation terminée, nous devons configurer le cache. Dans le fichier config/cache.php, vous pouvez définir le pilote de cache, l'heure du cache, le pilote de cache par défaut, etc.

  1. Créer un middleware de cache
    Créez un nouveau middleware à l'aide de la commande suivante :

php artisan make:middleware CacheMiddleware

Ensuite, le fichier CacheMiddleware.php nouvellement créé se trouve dans le répertoire app/Http/Middleware. Dans ce fichier, nous pouvons écrire notre logique de mise en cache.

<?php

namespace AppHttpMiddleware;

use Closure;
use IlluminateSupportFacadesCache;

class CacheMiddleware
{
    public function handle($request, Closure $next, $key, $time = null)
    {
        $cacheKey = $key.'_'.$request->getRequestUri();

        if (Cache::has($cacheKey)) {
            return Cache::get($cacheKey);
        }

        $response = $next($request);

        if (!is_null($time)) {
            Cache::put($cacheKey, $response->getContent(), $time);
        }

        return $response;
    }
}

Dans le code ci-dessus, nous générons d'abord une clé de cache, en la définissant sur une combinaison de l'URI de la requête. On vérifie ensuite si la clé existe dans le cache. S'il existe, nous renverrons directement les données mises en cache. S'il n'existe pas, nous continuerons à traiter la demande et enregistrerons le contenu de la réponse dans le cache pour le paramètre facultatif $time.

  1. Enregistrer le middleware
    Pour que le framework Laravel utilise notre middleware, vous devez enregistrer le middleware dans le tableau $routeMiddleware du fichier app/Http/Kernel.php.
protected $routeMiddleware = [
    // other middlewares
    'cache' => AppHttpMiddlewareCacheMiddleware::class,
];

Dans le code ci-dessus, nous enregistrons le middleware de cache en tant que « cache ».

  1. Utiliser le middleware
    L'utilisation du middleware est très simple. Utilisez simplement la méthode middleware dans la route ou le contrôleur.
Route::get('/products', 'ProductController@index')->middleware('cache:products', 60);

Dans le code ci-dessus, nous appliquons le middleware de cache à la route /products et définissons la clé de cache comme « produits » et le temps de cache comme 60 secondes.

  1. Exécuter et tester
    Maintenant, nous avons terminé toutes les étapes d'utilisation du middleware pour l'optimisation du cache dans Laravel. Nous pouvons utiliser la commande suivante pour démarrer le serveur de développement local, puis accéder à l'URL correspondante via le navigateur pour tester :

php artisan serve

Accédez à http://localhost:8000/products lors de la visite pour. la première fois, les données seront lues dans la base de données et stockées dans le cache. La deuxième visite et les suivantes récupéreront les données directement à partir du cache, améliorant ainsi la vitesse de réponse et les performances.

Résumé
En utilisant le middleware fourni par le framework Laravel, nous pouvons facilement mettre en œuvre l'optimisation du cache et améliorer les performances et la vitesse de réponse de l'application. En étudiant cet article, vous maîtrisez la méthode d'utilisation du middleware pour l'optimisation du cache dans Laravel et disposez d'exemples de code correspondants. J'espère que cet article vous sera utile, merci d'avoir lu !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn