PHP ¿La mejor manera de almacenar en caché los resultados de MySQL?

Actualmente estoy construyendo un framework PHP (original, lo sé) y estoy trabajando en algunas características de optimización para él. Un dilema con el que me he encontrado es cuál es la mejor manera de almacenar en caché los resultados de MySQL. Sé que algunas personas dirán, primero optimice su MySQL, etc., pero digamos por razones de argumentos, mi consulta tarda 1 minuto en ejecutarse y está lo más optimizada posible.

¿Cuál sería la mejor manera de almacenar en caché los resultados en PHP para no tener que volver a ejecutar la consulta cada carga de página?

Mi primer pensamiento fue tal vez recorrer los resultados, agregarlos a una matriz ... serializarlos y luego almacenarlos en un archivo. Ahora, como la creación de la memoria caché solo ocurre una vez, puedo pagar la sobrecarga de la función de serialización si la matriz contiene, digamos, 1 millón de resultados. Sin embargo, cargar el archivo en caché y luego deserializar la matriz en cada carga de página, podría tener un impacto en el rendimiento.

¿Sería una mejor idea, mientras que el almacenamiento en caché, en lugar de serializar los resultados y la escritura en el archivo, escriba en el archivo de una manera que muestre los resultados en una matriz legible de PHP. Entonces, cuando se carga, no hay una sobrecarga sin serializar.

¿Hay alguna otra forma (léase: más rápida) de almacenar en caché una consulta lenta para uso frecuente?

Respuestas a la pregunta(4)

Su respuesta a la pregunta