首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL缓存,10分钟前不要刷新更新

MySQL缓存,10分钟前不要刷新更新
EN

Stack Overflow用户
提问于 2012-11-12 06:05:51
回答 1查看 1.3K关注 0票数 1

在刷新缓存之前,是否有可能使MySQL在表更新和保存该缓存至少10分钟时不会刷新缓存?

基本上,我正在缓存一个查询,该查询分析有关200k+记录并返回10行数据。查询大约需要1.5到3秒。我使用SQL_CACHE缓存该查询,第一次查询需要0.007(+-)秒。该表经常更新(在不到一分钟内多次更新)。因此,我想让MySQL在刷新缓存查询以重新计算之前,将缓存保持至少10分钟。

顺便说一句,对于站点上的每个用户来说,查询数据是唯一的。

我正在使用Codeigniter框架,我知道他们有一个内置的查询缓存功能,但是它是基于文件系统的。所以我更喜欢MySQL的缓存功能..。

谢谢大家的帮助!

EN

回答 1

Stack Overflow用户

发布于 2012-11-12 06:16:56

有三件事会导致从MySQL缓存中删除东西:

  1. 空间不足
  2. 查询后的数据更改
  3. MySQL进程重新启动

您可以控制#1,因为您可以更改缓存大小。但是,其他查询仍然可以占用缓存空间。我不知道控制2号有多重要。您可能想要使用SELECT SQL_NO_CACHE来阻止它们进入缓存。

从事物的声音来看,MySQL并没有给出您想要的缓存方式所需的东西。

您考虑过优化查询吗?在那张便条上,你能贴出实际的查询吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13339073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档