【发布时间】:2011-03-16 15:00:30
【问题描述】:
我目前正在构建一个 PHP 框架(我知道是原创的)并且我正在为它开发一些优化功能。我遇到的一个难题是缓存 MySQL 结果的最佳方法是什么?我知道有些人会说,首先优化你的 MySQL 等,但是为了争论,我的查询需要 1 分钟才能运行并且尽可能优化。
在 PHP 中缓存结果的最佳方式是什么,这样我就不必在每次页面加载时都重新运行查询?
我的第一个想法是循环遍历结果,将它们添加到数组中...序列化它们,然后存储在文件中。现在由于创建缓存只发生一次,如果数组包含 100 万个结果,我可以承担序列化函数的开销。然而,加载缓存文件,然后在每次页面加载时反序列化数组,可能会对性能产生影响。
那么在缓存时是否会更好,而不是序列化结果和写入文件,而是以一种在 PHP 可读数组中显示结果的方式写入文件。所以当它加载时,没有反序列化开销。
是否有任何其他(阅读:更快)方法来缓存慢查询以供频繁使用?
【问题讨论】:
标签: php mysql performance caching