【问题标题】:MySQL RELOAD and RESET QUERY CACHEMySQL RELOAD 和 RESET QUERY CACHE
【发布时间】:2011-12-23 07:43:00
【问题描述】:

我正在使用 phpmyadmin 并在某个网站上工作,该网站的信息是从一个名为“profile_types”的表的数据库中提取的,我必须为新类型添加一行,但该网站没有反映这些更改。我一直在阅读,“有查询缓存”设置为是,所以我想我应该清除缓存,看看是否有帮助。

所以在阅读之后,我尝试使用 RESET QUERY CACHel,但一直收到关于使用 RELOAD 的错误> 所以在阅读更多内容后,我无法弄清楚如何使用 RELOAD 命令。据我所知,这是数据库唯一的用户帐户,所以我认为它是管理员并拥有必要的权限。我错过了什么吗?另外,你们是否认为执行 RESET QUERY CACHE 可能会允许它使用新记录更新站点?我已经清除了我的浏览器缓存并尝试了所有这些,但没有成功,所以认为这是我最后的选择。

【问题讨论】:

    标签: mysql caching phpmyadmin reload


    【解决方案1】:

    查询缓存用于选择结果。它不会“缓存”插入 - 如果查询被卡在缓存中,然后没有反映在后续结果中,则数据库将不符合 ACID。

    换句话说,假设这是一个银行数据库,它“缓存”存款,但确保立即反映提款。你会淹没在透支中。哦……等等……这就是现在银行的运作方式。

    【讨论】:

    • 但是填充选项的查询是一个 SELECT。我手动插入了新记录。我的 SELECT 虽然从表中填充选项就像“SELECT ptitle,pid FROM profile_types ORDER BY id ASC”,但它没有添加新选项。我阅读了更多内容并了解了如何授予权限并尝试授予重新加载权限,但它不会让我。
    • 然后在所有查询中添加错误检查。在 BARE MINIMUM,您的数据库调用应该类似于 $result = mysql_query($sql) or die(mysql_error());。如果数据没有从数据库中出来,那么它很可能一开始就没有进入数据库。
    • 谢谢,这正是我的代码中返回结果的内容。正如我所说,它会返回其中的所有记录。不过,我昨晚添加了一个新选项,现在是晚上。所以我相当有信心这可能只是一个查询缓存问题而不是编码问题,因为它可以很好地返回所有其他记录。不过,感谢您迄今为止的提示。
    猜你喜欢
    • 2013-02-04
    • 2022-12-27
    • 2011-06-21
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 2018-08-24
    • 2017-03-04
    相关资源
    最近更新 更多