我正在运行网站游戏。我没有触及任何事情,例如重置游戏已经启动的年份的查询缓存,我正在使用大约5000-1000万行,具体取决于表格。一切都在不断更新,所有东西都插入到表格中。如果我理解正确,每次插入或更新都会清除该表的缓存?这就是我在网上搜索的内容,我不知道这是否属实,或者我是否应该定期重置缓存。
一个月前发生的查询现在可能已经不再有用了。因此,如果它存储了那些查询结果,那么它完全没有价值,因为很可能没有人会再次运行相同的查询。
我跑了SHOW STATUS LIKE“Qcache%”,结果是:
Qcache_free_blocks 6941
Qcache_free_memory 23490288
Qcache_hits 253269763
Qcache_inserts 368937684
Qcache_lowmem_prunes 57410566
Qcache_not_cached 9872266
Qcache_queries_in_cache 35275
Qcache_total_blocks 84877
我真的不知道那些东西是什么意思,或者它们在确定我是否需要重置缓存时甚至是有用的。提前谢谢。
答案 0 :(得分:0)
手册不是骗你的,任何改变表中数据的查询都会使引用该表的任何缓存条目无效。您永远不必手动刷新缓存。
如果您的数据经常更新以至于查询永远不会在缓存中持续,或者相同的查询很少运行以至于无法缓存它,那么您只是浪费了大量内存和CPU时间检查,在每个INSERT
和UPDATE
查询上使缓存条目无效。实际上,您可以通过关闭查询缓存来查看性能提升。