有没有办法强制 mysql 缓存特定查询,例如 5 分钟,这样即使底层数据库发生变化,执行该查询也将始终返回相同的结果?
我正在运行一个约会网站,我有一个显示“最新匹配项”的页面,它对数据库的影响太大。
提前致谢。
最佳答案
MySQL 中的缓存并不能很好地解决这个问题。
MySQL 会自动缓存查询,直到表更新为止。
对于你的问题,你需要在数据库前面使用缓存。然后你可以先检查缓存,如果你要查找的内容不在缓存中,则访问数据库并将其添加到缓存中。
Memcached是一个很好的解决方案,特别是如果您有超过 1 个 Web 服务器。
APC是另一个很好的解决方案,也可以缓存 PHP 字节码,但它只是单机上的本地缓存。
关于optimization - 如何强制mysql在特定时间段内缓存查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3927081/