Pregunta

¿Existe una forma sencilla de almacenar en caché? MySQL queries en PHP o en su defecto, ¿existe un pequeño conjunto de clases que alguien haya escrito y puesto a disposición que lo haga?Puedo almacenar en caché una página completa, pero eso no funcionará ya que algunos datos cambian pero otros no. Quiero almacenar en caché la parte que no funciona.

¿Fue útil?

Solución

Esta es una excelente descripción general de cómo almacenar en caché consultas en MySQL:

Otros consejos

Puedes usar Caché Zend para almacenar en caché los resultados de sus consultas, entre otras cosas.

Creo que el tamaño de la caché de consultas es 0 de forma predeterminada, lo cual está desactivado.Edite su archivo my.cnf para darle al menos unos pocos megabytes.No se necesitan cambios de PHP :)

Puede que sea completamente excesivo para lo que estás intentando, pero echa un vistazo a eAccelerator o memcache.Si tiene consultas que cambiarán regularmente y consultas que no, es posible que no desee que MySQL almacene en caché todas sus consultas de base de datos durante el mismo período de tiempo.

Los motores de almacenamiento en caché como el anterior le permiten decidir, consulta por consulta, durante cuánto tiempo se deben almacenar en caché los datos.Entonces, digamos que tiene datos en su encabezado que cambiarán con poca frecuencia, puede verificar si están actualmente en el caché; si es así, devuélvalos; de lo contrario, haga la consulta y colóquelos en el caché con una vida útil de N, así para el próximo N segundos por cada carga de página extraerán los datos del caché sin acercarse a MySQL.Luego podrá extraer sus otros datos "en vivo" de la base de datos cuando sea necesario, sin pasar por el caché.

Recomendaría la ruta de almacenamiento en caché de toda la página.Si algunos de los datos cambian, simplemente coloque tokens/marcadores de posición en lugar de los datos dinámicos.Almacene en caché toda la página con esos tokens en su lugar, luego procese los tokens para los datos almacenados en caché de los tokens.Por lo tanto, ahora tiene una página en caché que contiene contenido dinámico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top