如何检查哪些缓存功能已打开? [PHP / MYSQL]

时间:2010-10-21 18:07:24

标签: mysql caching php

是否有可用于检查哪些缓存功能已打开的应用程序或代码?

在我正在研究的这个应用程序上,我认为有mysql缓存,但是因为我在我的一个查询(昨天应用)中开始使用SELECT SQL_NO_CACHE,所以缓存还没有停止。这让我认为它是一个正在发生的PHP缓存功能。

我查看了php.ini的任何可能的缓存功能,但没有看到任何突出的东西。

这导致我这样:是否有我可以下载的应用程序或我可以输入的Shell函数告诉我哪些缓存功能正在或可能导致缓存。

2 个答案:

答案 0 :(得分:1)

您可能已经知道MySQL具有查询缓存机制。例如,如果您有一个名为users的表,并运行如下查询:

SELECT COUNT(*) FROM `users`

可能需要3秒才能运行。但是,如果再次运行查询,则可能只需0.02秒即可运行。那是因为MySQL缓存了第一个查询的结果。但是,如果以任何方式更新users表,MySQL将清除它的缓存。比如插入新行,更新行等等。所以MySQL存在问题值得怀疑。

我的预感是你的浏览器正在缓存数据。代码中的逻辑也可能是抓取旧行,更新它,然后在表单中显示旧行数据。如果没有看到您的代码,我真的不能说。

答案 1 :(得分:0)

您可能需要关闭并重新启动浏览器。我敢打赌,你的浏览器缓存不是后端。