Maison  >  Article  >  développement back-end  >  Comment concevoir une interface haute performance en PHP

Comment concevoir une interface haute performance en PHP

angryTom
angryTomoriginal
2019-11-20 15:56:012794parcourir

Comment concevoir une interface haute performance en PHP

Comment concevoir une interface PHP hautes performances

La conception d'une interface PHP doit prendre en compte les performances afin de pouvoir faire face efficacement concurrence élevée Dans ce cas, parlons de plusieurs conseils pour optimiser l'interface PHP afin d'améliorer les performances.

1. Serveur

L'amélioration de la configuration est assez évidente pour l'efficacité globale d'exécution du système. Il n'y a rien à remettre en question à ce sujet tant que vous en avez. force, Naturellement, nous pouvons apporter davantage d'améliorations dans cet aspect.

2. Requête de données

L'optimisation de cette requête implique une optimisation SQL ou une optimisation de base de données. Il existe plusieurs solutions d'optimisation simples ci-dessous.

1. Optimisez SQL, utilisez la requête de liste chaînée de manière appropriée et utilisez la connexion (JOIN) au lieu de la sous-requête. Généralement, évitez d'utiliser JOIN dans le cas de grandes tables et de plusieurs tables. obtenir un effet de requête.

2. Optimisation SQL, lors de l'interrogation des données de table, utilisez des noms de champs précis pour éviter les requêtes de champs inutiles.

3. Optimisation SQL, utilisation appropriée des clés primaires et étrangères et des index, l'efficacité des requêtes des champs d'index est assez détaillée par rapport à l'efficacité des requêtes de grandes tables. Mais pour l'utilisation des index, quelques remarques. Les index échoueront dans de nombreux cas. Par exemple, si le contenu global du champ de la colonne d'index est trop grand, alors l'index n'aura aucun effet, il sera également invalide s'il n'est pas présent ou s'il n'est pas nécessaire ; effectuer des opérations sur la colonne d'index. Établir des index de fonctions, etc.

4. Pour l'optimisation SQL, utilisez dans la requête de manière appropriée et le moins possible. Il est préférable d'utiliser union à la place, ce qui sera beaucoup plus efficace. Lors de l'utilisation, essayez d'utiliser des champs d'index. Optimisation SQL, utilisation appropriée des requêtes floues. Il est préférable de ne pas l'utiliser et de le remplacer par congruent, car les index ne peuvent pas être utilisés dans des conditions floues

5. Pour l'optimisation de la base de données, utilisez des types de champs raisonnables pour les champs. Une autre façon d'améliorer l'efficacité est d'essayer de séparer. lorsque cela est possible, définissez-le sur NOTNULL pour éviter de perdre de l'espace.

6. Optimisation de la base de données et conception raisonnable de la structure des tables. Par exemple, il est parfois préférable d'avoir davantage de champs redondants nécessaires que de requêtes de jointure de table.

7. Optimisation de la base de données et conception raisonnable des index. Dans les requêtes de table conjointes ou le filtrage conditionnel, l'efficacité des requêtes sera beaucoup plus rapide après l'ajout d'index à la table de données.

3. Optimisation du code

L'optimisation du code varie également d'une personne à l'autre. Chacun peut avoir des habitudes et des styles de codage différents et avoir ses propres opinions sur l'amélioration des performances du code. , voici quelques-uns de mes points de vue.

1. Utilisez foreach de manière raisonnable et essayez d'utiliser le moins possible les boucles dans les boucles. S'il y a trop de boucles, cela demandera beaucoup de performances.

2. Pendant les boucles, essayez d'éviter les opérations de données, en particulier les opérations de requête. Lorsqu'il y a trop de boucles, l'efficacité de plusieurs appels est très faible. Les données peuvent être obtenues une seule fois puis assemblées.

3. De la même manière, dans la boucle, évitez les acquisitions multiples de la configuration et les appels à la méthode fonction time(). Cette déclaration unique peut être utilisée de manière répétée.

4. En PHP, il y a une différence entre les guillemets simples et les guillemets doubles. Par habitude, j'utilise des guillemets simples pour toutes les chaînes car cela ne nécessite pas de compilation. peut-être Juste un peu

5. Faites un usage raisonnable des fonctions de PHP, telles que les fonctions de tableau, qui sont très riches. En général, n'utilisez pas les fonctions et les méthodes qu'il contient. prend en charge par vous-même

6. Vous pouvez utiliser le concept de dictionnaire pour stocker le tableau sous la forme d'un nouvel index. Je l'utilise souvent dans la réorganisation des données

Selon le scénario, une utilisation raisonnable du cache peut réduire les requêtes de données répétées et améliorer l'efficacité

8. Une division raisonnable des fonctions, comme une requête de liste avec vue détaillée, peut être divisée en deux interfaces pour obtenir des données en cas de besoin et réduire le gaspillage de ressources.

4. Optimisation de la logique métier

Les programmes sans rapport avec la réponse (comme la journalisation, etc.) prennent trop de temps, utilisez la fonction fastcgi_finish_request() pour vider toutes les réponses. Envoyez les données au client et terminez la demande. Cela permet aux tâches qui nécessitent beaucoup de temps de s'exécuter après que le client a terminé la connexion de continuer à s'exécuter sans affecter le temps de réponse au client.

echo '例子:';
file_put_contents('log.txt', date('Y-m-d H:i:s') . " 上传视频\n", FILE_APPEND);
fastcgi_finish_request();
sleep(1);
file_put_contents('log.txt', date('Y-m-d H:i:s') . " 转换格式\n", FILE_APPEND);
sleep(1);
file_put_contents('log.txt', date('Y-m-d H:i:s') . " 提取图片\n", FILE_APPEND);

Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !

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