logo

Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll
19/06/2025, by Ivan

Cache max-age = dependencias temporales

Cache max-age es similar a la directiva max-age en el encabezado HTTP Cache-Control.

¿Por qué?

El max-age de caché proporciona una forma declarativa de crear cachés que dependen del tiempo.

Algunos datos solo son válidos durante un período limitado, en cuyo caso desea especificar un max-age adecuado. Sin embargo, en el núcleo de Drupal 8 no contamos con datos que solo sean válidos por un tiempo limitado; usualmente cacheamos de forma permanente (ver más abajo) y confiamos completamente en las etiquetas de caché para la invalidación.

¿Qué es?

El max-age de caché es un número entero positivo que representa la cantidad de segundos.

El max-age de caché se pasa como un solo número entero, ya que lógicamente un elemento de caché solo puede tener un max-age.

Ejemplos:

  • 60 significa cachear durante 60 segundos
  • 100 significa cachear durante 100 segundos
  • 0 significa cachear por cero segundos, es decir, no cachear
  • \Drupal\Core\Cache\Cache::PERMANENT significa cachear para siempre, es decir, solo será invalidado mediante etiquetas de caché. (En otras palabras: ∞ o segundos infinitos.)

Por lo tanto, si desea evitar cachear un bloque renderizado, debe establecer para él max-age = 0.

Ejemplo para la mayoría de los arrays de renderizado:

$build['#cache']['max-age'] = 0;

Ejemplo en una función:

\Drupal::cache()->set('my_cache_item', $school_list, REQUEST_TIME + (86400));

Si desea cambiar el max-age de un bloque a 0, debe implementar el método getCacheMaxAge.

Limitaciones del max-age

Desafortunadamente, el max-age no funciona para usuarios anónimos ni para el módulo Page Cache del núcleo de Drupal. Por ejemplo, vea estos issues:

Mientras estos (y posiblemente otros) problemas no estén resueltos, tenga en cuenta que establecer el max-age para un array de renderizado incluido en una página no es suficiente para que los usuarios anónimos vean la nueva versión tras expirar el max-age. Mientras tanto, el módulo Cache Control Override intenta mitigar estos problemas. También puede ayudar establecer una etiqueta de caché personalizada en páginas con contenido dependiente del tiempo y invalidar esas etiquetas manualmente mediante hook_cron(). ¡Buena suerte!

Source URL:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.