2012-12-03 4 views
0

J'ai une page Web avec une liste d'éléments et un formulaire pour ajouter de nouveaux éléments, et quand vous ajoutez un élément, il met à jour la liste. Maintenant, le problème est lorsque vous ajoutez un élément, il faut plusieurs minutes avant que la liste sur la page soit mise à jour, l'élément est inséré dans la base de données correctement, et si je fais l'instruction SQL directement sur la base de données, il retourne le nombre correct d'éléments. Maintenant, la raison pour laquelle je suis sûr que les données sont mises en cache quelque part, c'est que j'ai une autre page quand je peux voir la liste, et si je la rafraîchis juste après avoir ajouté un élément, il s'affiche correctement et si j'attends et rafraîchissez-le montre à nouveau correctement.requête mysql mise en cache

J'ai également essayé d'ajouter SQL_NO_CACHE à la requête, mais cela n'a rien changé.

EDIT Oublié de mentionner Je fais la demande avec AJAX si cela fait une différence.

Je viens d'essayer d'ouvrir la page dans un navigateur différent et il charge la même page, pour clarifier si j'ajoute un élément de chrome, le nouvel élément n'apparaît pas dans la liste dans Firefox.

De plus, j'ai chronométré il faut près de 5 minutes à plat pour que la page affiche la bonne liste.

+0

avez-vous essayé d'annuler() vos variables? – gSaenz

+0

Cela ressemble à un problème d'application, pas à un problème de base de données. – Kermit

+0

Juste vérifié, la liste est mise en cache sur différents navigateurs. –

Répondre

0

J'ai trouvé le problème, mon hébergeur utiliser quelque chose appelé LightSpeed ​​qui en cache les pages pour un chargement plus rapide, j'ai désactivé et tout fonctionne bien maintenant.

0

Demandez-vous au navigateur de ne pas mettre en cache vos pages Web?

Mettez cela en haut de la page de votre fiche. Les en-têtes indiquent au navigateur de ne pas mettre en cache le HTML rendu et de toujours demander les informations les plus à jour.

<?php 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 

http://php.net/manual/en/function.header.php

+0

J'ai essayé ça mais ça ne change rien, aussi je ne pense pas que ce soit une question de mise en cache de la page elle-même, puisque la suppression du cache/fermeture du navigateur n'aide pas non plus. –

Questions connexes