gpt4 book ai didi

php - MySQL 缓存,直到 10 分钟后才刷新更新

转载 作者:行者123 更新时间:2023-11-30 23:25:58 25 4
gpt4 key购买 nike

是否可以让 MySQL 在表更新时不刷新缓存,并在刷新缓存之前至少保留该缓存 10 分钟?

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

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

我使用的是 Codeigniter 框架,我知道它们具有内置的查询缓存功能,但它是基于文件系统的。这就是为什么我更喜欢 MySQL 的缓存功能......

感谢大家的帮助!

最佳答案

三种情况会导致从 MySQL 缓存中删除内容:

  1. 空间不足
  2. 查询背后的数据发生了变化
  3. MySQL进程重启

您对#1 有一定的控制权,因为您可以更改缓存大小。但是,其他查询仍会占用缓存空间。我不知道控制#2 有多重要。您可能希望使用 SELECT SQL_NO_CACHE 来防止它们进入缓存。

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

您是否考虑过优化查询?关于这一点,您能否发布实际查询?

关于php - MySQL 缓存,直到 10 分钟后才刷新更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13339073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com