Existe-t-il un moyen simple de mettre en cache MySQL queries
dans PHP
ou, à défaut, existe-t-il un petit ensemble de classe que quelqu'un a écrit et rendu disponible qui le fera? Je peux mettre en cache une page entière mais cela ne fonctionnera pas car certaines données changent mais d'autres non, je veux mettre en cache la partie qui ne le fait pas.Mise en cache des requêtes MySQL
Répondre
Ceci est un aperçu de la façon de mettre en cache des requêtes dans MySQL:
Je pense que la taille du cache de requête est 0 par défaut, ce qui est hors tension. Modifiez votre fichier my.cnf pour lui donner au moins quelques mégaoctets. Pas de modifications PHP nécessaires :)
Il peut être complètement exagéré pour ce que vous essayez, mais jetez un oeil à eAccelerator ou memcache. Si vous avez des requêtes qui changeront régulièrement et des requêtes qui ne le seront pas, vous ne voudrez peut-être pas que toutes vos requêtes db soient mises en cache pour la même durée par mysql. Les moteurs de mise en cache comme ci-dessus vous permettent de décider, par requête, combien de temps les données doivent être mises en cache. Donc, si vous avez des données dans votre en-tête qui changeront rarement, vous pouvez vérifier si elles sont actuellement dans le cache - si c'est le cas, renvoyez-le, sinon faites la requête et mettez-le dans le cache avec une durée de vie N N secondes, chaque chargement de page extrait les données du cache sans s'approcher de MySQL. Vous êtes alors libre de tirer vos autres données "en direct" de la base de données au fur et à mesure des besoins, en contournant le cache.
Vous pouvez utiliser Zend Cache pour mettre en cache les résultats de vos requêtes, entre autres.
Je recommanderais la route de mise en cache de page entière. Si certaines données changent, placez simplement des jetons/espaces réservés à la place des données dynamiques. Cachez la page entière avec ces jetons en place, puis postez les jetons pour les données mises en cache pour les jetons. Ainsi, vous avez maintenant une page en cache qui contient du contenu dynamique.
- 1. Mise en cache des requêtes avec HttpModule
- 2. Comment configurer la mise en cache des requêtes dans EclipseLink
- 3. Rails DB Requêtes et Mise en cache les meilleures pratiques
- 4. Le cache MySQL insère-t-il des requêtes?
- 5. Le cache des requêtes compilées?
- 6. Mise en cache des bonnes pratiques
- 7. mise en cache des fichiers JavaScript
- 8. mise en cache des données WebView (Android)
- 9. Affichage des résultats d'une table temporaire MySQL en utilisant PHP - mise en cache?
- 10. Entity Framework mise en cache sous ASP.Net
- 11. Mise en cache dans urllib2?
- 12. Mise en cache automatique web.config
- 13. Requêtes mysql parallèles en PHP?
- 14. Mise en cache et évitement du contenu mis en cache
- 15. intervalle rails mise en cache
- 16. Mysql 2 requêtes en un?
- 17. Mise en cache des vues partielles en asp.net MVC
- 18. Mysql - Insérer des requêtes en insérant des caractères amusants
- 19. Mise en forme des chaînes sous MySQL
- 20. La requête de mise en cache aboutit à des ORM - satisfaire des requêtes de sous-ensembles arbitraires
- 21. PHP obtenir des enregistrements DNS sans mise en cache
- 22. Mise en cache des fichiers dans le navigateur
- 23. Mise en cache des fichiers swf dans l'application Flex
- 24. NHibernate mise en cache sur des index uniques?
- 25. Mise en cache des données chargées avec NHibernate
- 26. Mise en cache des résultats agrégés dans Linq2SQL
- 27. Mise en cache des paramètres d'image ASP.NET MVC
- 28. Mise en cache et réutilisation de l'arborescence des objets HtmlElement
- 29. Mise en cache des variables dans la variable $ _SESSION?
- 30. Mise en cache des objets ASP.NET - combien coûte trop?
Lorsque j'installe mysql sur de nombreux serveurs Ubuntu/Debian et que je vérifie les configurations, la mise en cache est activée par défaut. 'query_cache_limit = 1M' et' query_cache_size = 16M ' – shgnInc