我禁用了查询缓存(默认情况下我的安装已禁用),但在我的应用程序中保持过时的数据。例如,我会在SELECT *
表上执行review
,插入新行,然后执行另一行SELECT *
,但新审核不会显示(尽管它会出现在那里)如果我浏览phpMyAdmin
中的表格。我禁用了表格缓存(table_cache = 0
),事情开始正常,所有新评论都显示在第二个SELECT *
上。
MySQL文档说
查询缓存不会返回陈旧 数据。当表被修改时,任何 查询缓存中的相关条目 满脸通红。
这对于表缓存是否也是如此?有没有办法让MySQL使用表缓存,但强制它在修改缓存表后刷新缓存?我在documentation 中找不到太多东西。