我有一个包含项目列表的网页和一个用于添加新项目的表单,当您添加项目时,它会更新列表。
现在问题是当你添加一个项目时,在页面上的列表更新之前需要几分钟,项目正确地插入到数据库中,如果我直接在数据库上执行sql语句,它将返回正确的项目数。
现在我确定数据被缓存到某个地方的原因是,当我看到列表时,我得到另一个页面,如果我在添加项目后立即刷新它正确显示,如果我等待一段时间刷新它再次显示正确。
此外,我尝试将SQL_NO_CACHE添加到查询中,但它没有改变任何内容。
修改 忘记提及我正在用AJAX做请求,如果它有任何区别。
我只是尝试在不同的浏览器中打开该页面并加载相同的页面,以澄清我是否添加了Chrome项目,新项目未显示在Firefox的列表中。
另外,我计时显示正确的列表需要接近5分钟的时间才能显示页面。
答案 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
?>
答案 1 :(得分:0)
我发现了这个问题,我的webhost使用了一个名为lightspeed的东西来缓存页面以加快加载速度,我已经禁用了它,现在每件事都运行正常。