0

我正在运行一个网站游戏。我没有触及任何事情,例如在游戏开始的那一年重置查询缓存,我正在处理大约 5000-100 万行,具体取决于表。一切都在不断更新,并且东西被插入到表格中。如果我理解正确,每次插入或更新都会清除该表的缓存?这就是我在网上搜索的结果,我不知道这是不是真的,或者我是否应该定期重置缓存。

一个月前发生的查询现在可能不再有用。因此,如果它正在存储这些查询结果,那么它完全没有价值,因为没有人会再次运行相同的确切查询。

我运行 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

我真的不知道这些东西是什么意思,也不知道它们是否对确定我是否需要重置缓存有用。提前致谢。

4

1 回答 1

0

该手册没有对您撒谎,任何更改表中数据的查询都会使引用该表的任何缓存条目无效。您永远不必手动刷新缓存。

如果您的数据更新如此频繁以至于查询永远不会在缓存中持续存在,或者相同的查询运行频率太低以至于缓存它没有用处,那么您只是在浪费大量的内存和 CPU 时间来检查和使缓存条目无效在每个INSERTUPDATE查询上。通过关闭查询缓存,您实际上可以看到性能提升。

于 2011-02-19T03:22:19.740 回答