Estoy implementando un caché que cachea php en Smarty (en lugar de cachear html como hace por defecto) pero aún así el rendimiento del script es más lento que sin el uso de Smarty (por tiempo de compilación de los templates, etc), así que se me ocurrió cachear las querys hechas a la BD.
Que el archivo fuese sql_ y el md5 de la consulta y a partir de ahí leer el array serializado y mostrarlo en lugar de hacer consultas, luego borrar ese archivo cada X segundos (pocos, claro está). Claro, esto ocupará espacio en el servidor y recursos al estar constantemente creando y borrando archivos. Hablo de una web de con bastantes visitas diarias.
La pregunta es ¿merece la pena cachear las consultas así o es más lento abrir archivo, leer archivo, unserialize() los datos y mostrarlos?
Supongo que con querys pesadas algo más de performance si hay, pero claro, lo difícil es hacer un sistema que solo guarde las pesadas y las ligeras no.