J'ai une application web php où certaines données changent sur une base hebdomadaire mais sont souvent lues très souvent.Meilleure technique de mise en antémémoire des résultats de requêtes qui changent rarement
Les requêtes SQL qui récupèrent les données et le code php pour la sortie html sont assez complexes. Il existe plusieurs jointures de tables et de nombreux calculs, mais elles aboutissent à une table html assez basique. Les utilisateurs sont regroupés et la table est la même pour chaque groupe chaque semaine, mais différente pour les différents groupes. Je pourrais potentiellement avoir des centaines de tables pour des milliers d'utilisateurs.
Pour des raisons de performances, je souhaite mettre en cache ces données. Plutôt que d'exécuter ces requêtes et calculs à chaque fois que quelqu'un accède à la page, je veux lancer un processus hebdomadaire pour générer la table pour chaque groupe en me donnant une lecture simple si nécessaire.
Je serais intéressé de savoir quelles techniques vous avez utilisées avec succès ou sans succès pour réaliser quelque chose comme ça?
Options Je peux voir les suivantes:
- Stockage du résultat html des calculs dans une table MySQL, identifié par groupe d'utilisateurs
- Stockage des données résultantes dans une table MySQL, identifié par groupe d'utilisateurs (difficile car il n'y a pas de nombre fixe d'éléments de données)
- la sortie Mise en cache page dans les fichiers statiques
Toutes les autres suggestions sont les bienvenues!
Quelques bonnes suggestions, merci. – Damovisa
Bonne liste de suggestions ici. Notez que la mise en cache des requêtes MySQL n'est pas une solution complète - elle présente des avantages et des inconvénients (elle peut empirer les choses sur les données fréquemment mises à jour). Comme le suggère Assaf, ce n'est qu'une des nombreuses options. – thomasrutter