¿Cómo expira MySQL el caché?

¿Cómo expira MySQL el caché?

Supongamos que la memoria es suficiente,

¿Cómo determina MySQL si se debe recuperar del caché o volver a consultar?

Respuesta1

AFAIK mysql caduca automáticamente y se almacena en caché cuando la tabla cambia (inserciones, actualizaciones, eliminaciones, etc.)

mysql generalmente lo almacena en caché de inmediato según query_cache_limit y el tamaño, el query_cache_limit predeterminado es 1 M, por lo que si la consulta individual aumenta, no se almacenará en caché a menos que la cambie.

Debe asegurarse de que su consulta también sea igual, ya que tiene en cuenta consultas que distinguen entre mayúsculas y minúsculas.

Aparte de eso, puedes usar el siguiente comando para monitorearlo:

SHOW STATUS LIKE '%qcache%';

Entonces, por ejemplo, cree una tabla con algunas entradas y ejecute:

SELECT id,name FROM my_table WHERE id > '2'; SHOW STATUS LIKE '%qcache%';

Notará que la cantidad de consultas almacenadas en caché aumentó en 1, ahora ejecute la misma selección nuevamente y verá que mysql ya estará usando el caché y el resultado se producirá mucho más rápido.

INFORMACIÓN ADICIONAL

Primero debe asegurarse de tener query-cache-type = 1my.cnf o my.ini dependiendo del SO/INSTALACIÓN.

Desde mysql puedes ejecutar el siguiente comando para verificar el estado del mismo:

SHOW VARIABLES LIKE '%query_cache%';

Al enumerar los datos, verá el tamaño de la caché de consultas. Si se establece en 0, significa que su caché de consultas está deshabilitado. Esta variable determina la memoria, en bytes, utilizada para la caché de consultas.

Entonces, como hizo con el tipo de caché de consulta, agregue lo siguiente a su my.cnf o my.ini:

query-cache-size = 40M

información relacionada