Stratégies de mise en cache | Optimisation des performances de Laravel
Jun 27, 2025 pm 05:41 PMLa mise en cache dans Laravel améliore considérablement les performances des applications en réduisant les requêtes de la base de données et en minimisant le traitement redondant. Pour utiliser la mise en cache efficace, suivez ces étapes: 1. Utilisez la mise en cache de route pour les itinéraires statiques avec PHP Artisan Route: Cache, idéal pour des pages publiques comme / environ mais pas pour les itinéraires fréquemment changeants. 2. 3. Implémentez la mise en cache de vue pour les modèles lourds à l'aide de Cache :: Remember () ou des packages pour éviter le rendu répété. 4. Appliquez des en-têtes de cache HTTP via des middleware ou des proxys inversés pour la mise en cache pleine page, en utilisant le cache. La planification et la maintenance sont essentielles à une stratégie de mise en cache efficace.
La mise en cache est l'un des moyens les plus efficaces d'accélérer une application Laravel. Il réduit les requêtes de base de données, minimise le traitement redondant et améliore les temps de réponse - en particulier sous une charge lourde ou pour le contenu qui ne change pas souvent.
Voici comment vous pouvez utiliser la mise en cache efficacement dans Laravel pour que votre application fonctionne bien.
Utilisez la mise en cache de route pour des changements statiques ou peu fréquents
Si vous avez des itinéraires qui renvoient les mêmes données à chaque fois (comme un point de terminaison de l'API avec des paramètres statiques ou une page publique), la mise en cache de route peut les servir plus rapidement en sautant la logique du contr?leur sur chaque demande.
Laravel fournit Route::view()
et une mise en cache intégrée via:
PHP Artisan Route: Cache
Cela compile toutes vos itinéraires dans un seul fichier en cache, ce qui les rend beaucoup plus rapidement. N'oubliez pas:
- Cela ne fonctionne que pour des itinéraires simples.
- Si votre itinéraire change souvent, ne le mettez pas en cache de cette fa?on - vous devrez re-cache manuellement après chaque changement.
Il est mieux adapté à des pages publiques comme /about
, /terms
, ou même des points de terminaison JSON simples utilisés par les applications mobiles.
Les requêtes de base de données de cache qui ne changent pas souvent
Toutes les données ne doivent pas être récupérées fra?ches à chaque fois. Par exemple, si vous affichez une liste de pays, de catégories ou de paramètres qui changent rarement, la mise en cache de ces requêtes sauve des voyages répétés dans la base de données.
Vous pouvez faire quelque chose comme:
$ categories = cache :: Remember ('catégories', 60, function () { Retour catégorie :: all (); });
Cela stocke le résultat pendant 60 minutes. Vous pouvez ajuster le temps en fonction de la fréquence à laquelle les données changent réellement.
Quelques conseils:
- Donnez toujours à ces clés des noms significatifs afin qu'il soit plus facile de gérer ou de rincer plus tard.
- évitez de mettre en cache d'énormes ensembles de données à moins que vous ne soyez s?r qu'il ne mange pas de mémoire.
- Combinez avec des balises si vous utilisez un magasin de balises comme Redis, afin que vous puissiez effacer les caches connexes ensemble.
Utilisez la mise en cache de vue pour les modèles lourds
Certaines vues prennent du temps à rendre - peut-être qu'ils traversent de nombreuses données ou incluent plusieurs partiels. Si le HTML rendu ne change pas souvent, la mise en cache de la sortie peut empêcher PHP de faire le même travail à plusieurs reprises.
Vous pouvez utiliser des packages comme Laravel-View-Caching ou rouler votre propre solution à l'aide de Laravel's Cache::remember()
et View::make()->render()
.
Par exemple:
Echo Cache :: Remember ('Homepage.View', 30, Function () { Return View :: Make ('Homepage') -> render (); });
Gardez à l'esprit:
- Cette approche n'est pas idéale pour le contenu personnalisé - il sert le même HTML à tout le monde.
- Assurez-vous d'effacer ou de mettre à jour le cache lorsque les données sous-jacentes changent.
Cache pages entières avec cache HTTP ou middleware
Pour des pages vraiment statiques ou semi-statiques, la mise en cache pleine page est l'option la plus rapide. Laravel n'offre pas cela hors de la bo?te, mais vous pouvez l'implémenter avec des middleware ou des proxys inversés comme le vernis ou le nginx.
Alternativement, utilisez cache.headers
intégré de Laravel.
Route :: middleware ('cache.headers: public; max_age = 2628000') -> groupe (function () { Route :: get ('/ static-page', 'staticontroller @ show'); });
Cela définit un en-tête Cache-Control
indiquant les navigateurs (et CDN) pour mettre la page jusqu'à un mois.
Utilisez-le à bon escient:
- Ne mettez pas en cache le contenu spécifique à l'utilisateur à moins que vous ne définissiez
Vary: Cookie
ou en-têtes similaires. - Définissez les TTL appropriés - trop longs et les utilisateurs obtiennent des données périmées, trop courtes et vous perdez des avantages de performance.
Les stratégies de mise en cache à Laravel sont flexibles et puissantes, mais elles fonctionnent mieux lorsqu'elles sont adaptées à vos données et modèles de trafic spécifiques. Commencez petit - peut-être avec la requête ou la mise en cache de vue - puis superposez des techniques plus avancées au besoin. Ce n'est pas compliqué, mais cela nécessite une certaine planification et entretien.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le cache de configuration de Laravel améliore les performances en fusionnant tous les fichiers de configuration dans un seul fichier de cache. L'activation du cache de configuration dans un environnement de production peut réduire les opérations d'E / S et l'analyse de fichiers sur chaque demande, accélérant ainsi le chargement de configuration; 1. Il doit être activé lorsque l'application est déployée, la configuration est stable et aucune modification fréquente n'est requise; 2. Après l'activation, modifiez la configuration, vous devez ré-para?tre phpartisanconfig: cache pour prendre effet; 3. évitez d'utiliser une logique dynamique ou des fermetures qui dépendent des conditions d'exécution dans le fichier de configuration; 4. Lors du dépannage des problèmes, vous devez d'abord effacer le cache, vérifiez les variables .env et re-cache.

Createahelpers.phpfileinApp / whetters withcustomfonctions likeformatprice, isactiveroute, andisadmin.2.addthefiletothe "fichiers" sectionofcomposer.jsonunderautoload.3.runcomposerdump-autoloadtomakethfunctionsgloballyavailable.4.usethhelperfunctions

UseMockeryForcustomDependcesntencesBySettingExpectations withShouldReceive (). 2.UseLaravel’sfake () MethodForfacadesLikEmail, file d'attente, andhttptopReventReinteractions.3.replaceContainer-BoundServices with $ this-> mock () ForcLenersyntax.4.Usehtp

Créer un tableau de références pour enregistrer les relations de recommandation, y compris les références, les références, les codes de recommandation et le temps d'utilisation; 2. Définir l'appartenance et les relations HasMany dans le modèle d'utilisateur pour gérer les données de recommandation; 3. Générer un code de recommandation unique lors de l'enregistrement (peut être implémenté via des événements modèles); 4. Capturez le code de recommandation en interrogeant les paramètres lors de l'enregistrement, établissez une relation de recommandation après vérification et empêchez l'auto-recommandation; 5. Déclencher le mécanisme de récompense lorsque les utilisateurs recommandés terminent le comportement spécifié (ordre d'abonnement); 6. Générer des liens de recommandation partageables et utiliser les URL de signature Laravel pour améliorer la sécurité; 7. Afficher les statistiques de recommandation sur le tableau de bord, telles que le nombre total de recommandations et de nombres convertis; Il est nécessaire de s'assurer que les contraintes de base de données, les séances ou les cookies sont persistées,

CheckPhp> = 8.1, compositeur, etwebserver; 2.CloneOrCreateProjectAndrunCompoSeRinstall; 3.Copy.env.Exampleto.envandrunphPartisanKey : générer; 4.setDatabaseCredentialSin.envandrunphPartisanMigrate - Seed; 5.StartServerWithPhPartisansEserve; 6. Optionallyrunnpmins

Créer un fichier de semences: utilisez PhPartisanMake: SeeDerUserSederder pour générer la classe Seeder et insérer des données via la requête Model Factory ou Database dans la méthode d'exécution; 2. Appelez un autre Seeder dans DatabaseSeseder: enregistrez USERSEDEDER, POSTSEEDER, etc. dans l'ordre via $ this-> call () pour s'assurer que la dépendance est correcte; 3. Exécutez Seeder: Exécutez PHPARTISANDB: graines pour exécuter tous les semants enregistrés, ou utilisez du phpartisanMigrate: Fresh - Seed pour réinitialiser et remplir les données; 4

L'utilisation d'événements et d'auditeurs à Laravel est un moyen efficace de découpler la logique principale. 1. Créer des événements et les auditeurs peuvent être générés et liés à EventServiceProvider via la commande Artisan ou activer le mécanisme de découverte automatique. 2. Dans une utilisation réelle, il est nécessaire de noter qu'un événement peut correspondre à plusieurs auditeurs, une politique de réessayer la file d'attente, garder l'auditeur léger et enregistrer les abonnés de l'événement. 3. Pendant les tests et le débogage, vous devez confirmer le déclenchement de l'événement, la liaison de l'écoute et l'état du lecteur de file d'attente, et définir la queue_connection = Sync pour effectuer de manière synchrone pour faciliter le dépannage. 4. Les conseils avancés incluent le contr?le dynamique de l'exécution ou de l'enregistrement de l'auditeur en fonction des conditions, mais il est recommandé aux utilisateurs avancés. La ma?trise de ces points clés peut aider à améliorer le contr?le du code

Créer un nouveau projet Laravel et démarrer le service; 2. Générez le modèle, la migration et le contr?leur et exécuter la migration; 3. Définissez l'itinéraire RESTful dans les routes / api.php; 4. Implémentez la méthode d'addition, de suppression, de modification et de requête dans Post Controller et renvoyez la réponse JSON; 5. Utilisez Postman ou Curl pour tester la fonction API; 6. Ajouter éventuellement l'authentification de l'API via Sanctum; Enfin, obtenez une structure claire, Laravelrestapi complète et extensible, adaptée aux applications pratiques.
