mysql查询得到缓存

时间:2012-12-03 21:27:00

标签: php mysql mysqli

我有一个包含项目列表的网页和一个用于添加新项目的表单,当您添加项目时,它会更新列表。

现在问题是当你添加一个项目时,在页面上的列表更新之前需要几分钟,项目正确地插入到数据库中,如果我直接在数据库上执行sql语句,它将返回正确的项目数。

现在我确定数据被缓存到某个地方的原因是,当我看到列表时,我得到另一个页面,如果我在添加项目后立即刷新它正确显示,如果我等待一段时间刷新它再次显示正确。

此外,我尝试将SQL_NO_CACHE添加到查询中,但它没有改变任何内容。

修改 忘记提及我正在用AJAX做请求,如果它有任何区别。

我只是尝试在不同的浏览器中打开该页面并加载相同的页面,以澄清我是否添加了Chrome项目,新项目未显示在Firefox的列表中。

另外,我计时显示正确的列表需要接近5分钟的时间才能显示页面。

2 个答案:

答案 0 :(得分:0)

您是否指示浏览器不缓存您的网页?

将它放在列表页面的顶部。标题告诉浏览器不缓存呈现的HTML并始终请求最新的信息。

<?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

答案 1 :(得分:0)

我发现了这个问题,我的webhost使用了一个名为lightspeed的东西来缓存页面以加快加载速度,我已经禁用了它,现在每件事都运行正常。