【问题标题】:How to force mysql to cache a query for a specific period of time?如何强制mysql在特定时间段内缓存查询?
【发布时间】:2011-04-25 00:48:41
【问题描述】:

有没有办法强制 mysql 缓存一个特定的查询,比如 5 分钟,所以即使底层数据库发生变化,执行该查询也总是返回相同的结果?

我正在运行一个约会网站,我有一个显示“最新匹配”的页面,它对数据库的影响太大了。

提前致谢。

【问题讨论】:

标签: optimization mysql caching database-caching


【解决方案1】:

在 MySQL 中缓存并不是解决这个问题的好方法。

MySQL 自动缓存查询,直到表被更新。

对于您的问题,您需要在数据库前面使用缓存。然后你可以先检查缓存,如果你要找的东西不在缓存中,就打数据库,把它添加到缓存中。

Memcached 是一个很好的解决方案,尤其是在您拥有超过 1 个网络服务器的情况下。

APC 是另一个很好的解决方案,它也可以缓存您的 PHP 字节码,但它只是单台机器上的本地缓存。

【讨论】:

  • 感谢 memcached 看起来像我需要的。我希望避免添加更多层,但我不得不这样做是有道理的。
猜你喜欢
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
  • 2013-08-24
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
相关资源
最近更新 更多