mysql写入可能不更新查询缓存

vwkv1x7d  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(377)

我有个奇怪的问题。
在mysql 5.6上,我启用了查询缓存,设置如下。

缓存的思想是,每当发生写操作时,记录就会失效(删除),并在下次读取时创建。
但是,我确实多次得到过时的数据,当我更改查询中的某些字符时,它会得到更正。
我知道关闭查询缓存当然是一个可行的选择,但是我在这里做了什么与查询缓存相关的设置方面的错误吗?
我读过关于直写缓存的文章,但在mysql中找不到它的任何默认实现,也没有明确提到失效。
另一个重要的问题是-我确实有很多连接对象在任何时间点(几十个)都存在,有没有可能我的问题是因为一些连接级别的缓存(如果可能的话)而不是全局缓存?
编辑-不是重复的问题
mysql查询缓存中的“query\u cache\u wlock\u invalidate”有什么用?
因为这里的问题是,即使在写操作发生很长一段时间之后,缓存的值也会返回,因为预期写操作会导致缓存失效,因为锁也会在那时被放弃。
编辑- query_cache_wlock_invalidate 实际上起作用了。问题是写入时间戳的记录不正确,导致结论无效。

cgyqldqp

cgyqldqp1#

设置 query_cache_wlock_invalidateON 作品。

相关问题