Diferencia entre la vida útil mínima de la caché y la caducidad de las páginas en caché


35

En la página de rendimiento de Drupal, debajo de la caché de conjunto de campos tiene dos opciones. Una es la vida útil mínima de la caché y la otra es la caducidad de las páginas almacenadas en caché.

ingrese la descripción de la imagen aquí

Cuál es la diferencia entre estos dos.


Mire más de cerca la palabra "externa";
Mołot

1
Como que sé la respuesta. Pensé en escribir una pequeña respuesta detallada solo para validar mi pensamiento y esperar que pudiera ayudar a otros.
Gokul NK

Para obtener una respuesta detallada, consulte drupal.stackexchange.com/questions/83315/…
Gokul NK

Respuestas:


39

He hecho las siguientes observaciones después de pasar unas horas. Si hay huecos o errores, avíseme. Estaré encantado de hacer ediciones.

Primer observador de que ninguna de las Opciones bajo CACHING son interdependientes. Si lo fueran, los habría visto en diferentes conjuntos de campos (o como campos dependientes). Tome nota de esta observación y la revisaremos más adelante.

ingrese la descripción de la imagen aquí

Comencemos con la primera opción Páginas de caché para usuarios anónimos . ingrese la descripción de la imagen aquí

Cuando marca esta opción, básicamente le está diciendo a Drupal

Hola, Bestia, escucha, cuando un usuario anónimo visita mi sitio,

  1. Almacene el HTML generado en la tabla de caché
  2. Para poder mostrar el mismo resultado a todos los usuarios, ya que mis páginas siguen siendo las mismas para todos los usuarios anónimos.
  3. Y no borre los cachés de página hasta que diga borrar todos los cachés.

Además, incluso si no habilita la Cache Pages for anonymous users página, los sistemas de caché externos pueden almacenar en caché la página. Ej .: Boost

Ahora pasemos a las siguientes opciones que terminaría usando en general.

Caducidad de las páginas en caché

ingrese la descripción de la imagen aquí

  1. Tenga en cuenta que esta configuración no tiene nada que ver con la base de datos Drupal o las tablas de caché.
  2. Lea la descripción The maximum time an external cache can use an old version of a page.Como Molot señaló que la palabra clave es externa.
  3. Entonces, lo que básicamente hace esta opción es establecer el control de caché del encabezado publicy el valor de edad máxima en el encabezado al valor especificado (1 día en este caso).
  4. Este encabezado le dice a los externalsistemas de almacenamiento en caché que no hagan una llamada al servidor para esta página hasta la edad máxima, ya que pueden mostrar esta página desde su propia caché. Después de la edad máxima, el sistema de almacenamiento en caché debe volver a consultar con el servidor Drupal para ver si el contenido ha cambiado.

  5. Si se trata de un servidor Varnish, no realiza una llamada a Apache y devuelve la página de su caché. Así que supongamos que Varnish ha almacenado en caché una página y miles de usuarios diferentes hicieron una solicitud a esa página. Por lo tanto, significa que se han procesado 1000 solicitudes sin llegar al servidor Apache ni una sola vez.

Tiempo de vida mínimo de caché ingrese la descripción de la imagen aquí

Si su sitio no tiene un tráfico enorme o si no está seguro de cuál es este valor, es mejor dejarlo como ninguno.

  1. Este valor se aplica no solo a las páginas. Pero todos los objetos de caché.
  2. Lo que dice este valor es "Está bien servir objetos de caché que están obsoletos"
  3. En nuestro caso, el valor se establece en 5 minutos.
  4. Si tiene una página que enumera los cinco últimos blogs en su página de inicio. Lo que significan los valores anteriores es que, si se crea un nuevo blog, está bien que el blog no aparezca en la lista durante los cinco minutos.
  5. Cuando se establece este valor, para que la memoria caché se actualice / vuelva a crear como mínimo, debe haber pasado tanto tiempo y se debe ejecutar una acción de limpieza de memoria caché [Se debe ejecutar una función de limpieza de memoria caché].

1
Gracias por esta respuesta Sin embargo, estoy un poco confundido: para "Páginas de caché para usuarios anónimos" , usted dice que significa "no borre las cachés de la página hasta que yo diga borrar todas las cachés". ¿Qué representa este "yo digo" ? ¿Qué activará el caché para ser borrado?
s427

1
@ s427, consulte drupal.stackexchange.com/questions/102976/… para obtener detalles sobre lo que activará el borrado de la memoria caché.
Gokul NK

1
Lo que encontré interesante es que esto es cierto solo si "Caché de páginas para usuarios anónimos" está habilitado. De lo contrario, cambiar "Caducidad de las páginas en caché" no hace nada, y habilitar "Duración mínima de caché" establece encabezados. Solo si el almacenamiento en caché para usuarios anónimos está habilitado y SOLO ENTONCES "Caducidad de las páginas en caché" establece encabezados. Esto es un poco confuso ...
Łukasz Zaroda

19

Este artículo tiene un buen resumen de la terminología de almacenamiento en caché de Drupal: http://www.phase2technology.com/blog/caching-in-drupal/

Resumen de los puntos relevantes:

La vida útil mínima de la memoria caché a menudo se malinterpreta como "las páginas se regenerarán después de que haya pasado tanto tiempo". Lo que realmente significa es que las páginas no se regenerarán hasta que haya pasado al menos este tiempo y haya ocurrido un evento de limpieza de caché.

La caducidad de las páginas en caché también a veces se malinterpreta. Este valor controla lo que se envía como un valor de antigüedad máxima en un encabezado Cache-Control y, por lo tanto, informa a los servidores proxy cuánto tiempo pueden servir a la página sin pedirle a su instalación de Drupal una nueva copia. Esto no significa que la página se regenerará después de tanto tiempo, solo significa que el servidor proxy debe verificar con Drupal para ver si existe una nueva versión de la página después de este tiempo. Drupal solo regenerará una página después de que ocurra un evento de limpieza de caché.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.