Ce qui suit est une explication détaillée de l'optimisation de la table laravel mysql à partir de la colonne du didacticiel Laravel. J'espère que cela sera utile aux amis dans le besoin !
1. Cache des informations de configuration
Utilisez la commande intégrée Artisan suivante pour fusionner toutes les informations de configuration du dossier de configuration en un seul fichier afin de réduire le temps d'exécution. Nombre de fichiers chargés :
php artisan config:cache
Copier après la connexion
La commande ci-dessus générera le fichier bootstrap/cache/config.php Vous pouvez utiliser la commande suivante pour annuler le cache des informations de configuration :
php artisan config:clear
Copier après la connexion
Qu'est-ce que cette commande. ce que fait est de Le fichier bootstrap/cache/config.php est supprimé.
Remarque : Le cache des informations de configuration ne sera pas automatiquement rechargé avec les mises à jour. Par conséquent, il est recommandé de désactiver le cache des informations de configuration pendant le développement. Il est généralement utilisé dans les environnements de production et peut être utilisé avec la tâche Envoy. coureur.
2. Mise en cache des routes
La mise en cache des routes peut améliorer efficacement l'efficacité de l'enregistrement du routeur. L'effet est plus évident dans les grandes applications. Vous pouvez utiliser la commande suivante :
php artisan route:cache
Copier après la connexion
<🎜. >Ci-dessus La commande générera le fichier bootstrap/cache/routes.php. Il est à noter que le cache de route ne prend pas en charge la logique d'écriture de fonction anonyme de routage.
Vous pouvez utiliser la commande suivante pour vider le cache de routage :
php artisan route:clear
Copier après la connexion
Cette commande supprime le fichier bootstrap/cache/routes.php.
Remarque : le cache de route ne sera pas automatiquement rechargé avec les mises à jour. Par conséquent, il est recommandé de désactiver le cache de route pendant le développement. Il est généralement utilisé dans les environnements de production et peut être utilisé avec l'exécuteur de tâches Envoy.
3. Optimisation du chargement du mappage de classes
La commande d'optimisation fusionne les classes couramment chargées en un seul fichier pour améliorer l'efficacité opérationnelle en réduisant le chargement des fichiers :
php artisan optimise --force
générera deux fichiers, bootstrap/cache/compiled.php et bootstrap/cache/services.json.
Vous pouvez ajouter des classes à fusionner en modifiant le fichier config/compile.php.
Dans l'environnement de production, le paramètre --force n'a pas besoin d'être spécifié et le fichier sera automatiquement généré.
Pour effacer l'optimisation du chargement du classmap, exécutez la commande suivante :
php artisan clear-compiled
Cette commande supprimera les deux fichiers générés par l'optimisation ci-dessus.
Remarque : Cette commande doit être exécutée après php artisan config:cache, car la commande d'optimisation génère des fichiers basés sur les informations de configuration (telles que le tableau des fournisseurs du fichier config/app.php).
4. Optimisation du chargement automatique
Cette commande ne concerne pas seulement les programmes Laravel, mais s'applique également à tous les programmes construits à l'aide de Composer. Cette commande convertira PSR-0 et PSR-4 en une table de mappage de classes pour améliorer la vitesse de chargement des classes.
composer dumpautoload -o
Remarque : Cette opération a déjà été effectuée dans la commande php artisan optimise --force.
5. Utilisez Memcached pour stocker les sessions
Chaque requête Laravel générera une session. La modification de la méthode de stockage de session peut améliorer efficacement l'efficacité du programme. Les informations de configuration de la session sont config/session.php. Il est recommandé de passer à un logiciel de mise en cache professionnel tel que Memcached ou Redis :
'driver' => 'memcached',
6. Utilisez un pilote de mise en cache professionnel
"cache. " C'est l'une des armes magiques pour améliorer l'efficacité de fonctionnement des applications. Le pilote de cache par défaut est le cache de fichiers. Il est recommandé de passer à un système de cache professionnel, tel que Redis ou Memcached. Il n'est pas recommandé d'utiliser le cache de base de données.
'default' => 'redis',
7. Optimisation des requêtes de base de données
Utiliser le préchargement paresseux et le préchargement lors de la lecture du modèle d'association de données ;
Utilisez Laravel Debugbar ou Clockwork pour faire attention au nombre total de requêtes de base de données pour chaque page ;
La longueur ici est uniquement liée à Laravel. Pour d'autres contenus sur l'optimisation des données, veuillez vérifier les autres informations par vous-même.
8. Écrivez la logique de cache pour l'ensemble de données
Utilisez correctement l'opération de couche de cache fournie par Laravel pour mettre en cache l'ensemble de données extrait de la base de données, réduisez la pression sur la base de données et exécutez en mémoire Les logiciels de mise en cache professionnels sur Internet peuvent également lire les données beaucoup plus rapidement que la base de données.
$posts = Cache::remember('index.posts', $minutes = 30, function()
{
return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();
});
Copier après la connexion
rappelez-vous Même le modèle d'association de données est mis en cache, comme c'est pratique.
9. Utilisez des compilateurs juste à temps
HHVM et OpCache peuvent facilement améliorer les performances de votre application de 50 % ou plus sans apporter de modifications, PHPhub a déjà fait une expérience. Pour plus de détails, veuillez consulter : Utiliser OpCache pour améliorer les performances du programme PHP 5.5+.
10. Fusion des ressources frontales
En tant que norme d'optimisation, une page ne doit charger qu'un seul fichier CSS et un fichier JS, et le fichier doit pouvoir être facilement transféré vers CDN, et le nom du fichier doit changer avec la modification.
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!