通常,当表被修改时,MySQL 会自动清除缓存。
如果有任何其他查询时间限制来确定生命周期,或者生成的缓存可以存活多年,如果没有修改?
不,MySQL 查询缓存没有 TTL 过期策略。
当然,当您重新启动 MySQL 守护程序时,查询缓存中的所有条目都会消失。
您可以使用RESET QUERY CACHE清除查询缓存。
如果您需要更好地控制缓存,您可能应该使用 Memcached 或一些类似的专用缓存技术,您可以直接从应用程序代码访问这些技术。事实上,我越来越多地建议完全禁用 MySQL 查询缓存。