我目前正在构建一个PHP框架(原创的,我知道),并且正在为其开发一些优化功能。我遇到的一个问题是:什么是最好的缓存MySQL结果的方法?我知道有些人会说,首先要优化你的MySQL等等,但假设查询需要1分钟才能运行且已经尽可能优化了,那么最好的缓存方法是什么呢?
我的第一个想法是,也许可以循环遍历结果,将它们添加到一个数组中...序列化它们然后存储在文件中。由于创建缓存只发生一次,如果数组包含100万个结果,我可以容忍序列化函数的开销。然而,在每个页面加载时加载缓存文件,然后反序列化数组,可能会对性能产生影响。
那么在缓存时,改为以 PHP 可读的数组形式写入文件,而不是序列化结果并写入文件,是否更好呢?这样在加载时就没有 unserialize 的开销了。
还有其他(更快的)缓存慢速查询以便频繁使用的方法吗?