在程序某些部分显式禁用MySQL查询缓存

2 投票
1 回答
1739 浏览
提问于 2025-04-15 20:35

在一个Django项目中,有一些定时任务程序主要用于管理或分析,比如生成网站使用统计数据、轮换用户活动日志等等。

我们可能不希望MySQL在这些程序中缓存查询,以节省内存使用并提高查询缓存的效率。

那么,是否可以在这些程序中明确关闭MySQL的查询缓存,同时让其他部分,比如所有的views.py,继续使用查询缓存呢?

1 个回答

2

根据这个链接

每个客户端可以通过设置SESSION的query_cache_type值来控制自己连接的缓存行为。比如,一个客户端可以这样关闭自己查询的缓存:

mysql> SET SESSION query_cache_type = OFF;

不过,通常没有太大的理由去这么做。查询缓存并没有你想象中的那么重要,尤其是在非高峰期(我想这就是你运行定时任务的时候)。

撰写回答