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.
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.
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.
protected $routeMiddleware = [ // other middlewares 'cache' => AppHttpMiddlewareCacheMiddleware::class, ];
Dans le code ci-dessus, nous enregistrons le middleware de cache en tant que « cache ».
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.
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!