Me gustaría permitir que las páginas sigan beneficiándose del mecanismo de almacenamiento en caché de Drupal 8 para usuarios anónimos, excepto por los bloques específicos que deben actualizarse en cada actualización de la página sabiendo que se generan a partir de Vistas.
¿Es técnicamente posible? ¿Cómo?
Respuestas:
¿Qué muestra ese bloque de vistas?
D8 tiene etiquetas de caché y contextos que invalidarán automáticamente el bloque si algo cambia.
Entonces, si tiene una lista de nodos, cada vez que se agrega o actualiza un nodo, ese bloque se actualizará, pero hasta entonces, se usa la versión en caché. Lo cual es mucho mejor que reconstruir en cada página.
También funciona con el caché de la página, esas páginas también se actualizarán automáticamente.
Muchas, muchas cosas simplemente funcionan con el almacenamiento en caché de fábrica, sin la necesidad de ninguna configuración manual.
Editar (respondiendo al comentario):
¿Aleatorio con el complemento de ordenación aleatoria? Eso debería marcar automáticamente ese bloque como no almacenable en caché. Sin embargo, eso no afecta el módulo de caché de página. Ahora hay un nuevo módulo de caché de página dinámica / caché inteligente, pero solo estará en la próxima versión beta (¡o RC!). Eso eventualmente permitirá almacenar en caché el resto de la página y simplemente construir esa parte.
Pero un caso como este probablemente se implemente mejor usando JavaScript. Si solo hubiera unos pocos nodos, podría mostrarlos todos, ocultos de forma predeterminada y hacer que uno de ellos sea visible al azar. O solicite una URL con javascript que devuelva un anuncio aleatorio o incluso mejor visite una aleatoria de N URL que devuelvan un anuncio (por ejemplo, devolviendo una lista de URL y luego seleccionando una de ellas. Incluso podría hacerlo directamente para la URL de la imagen .
fuente
Si se trata de un bloque personalizado, puede usar la API de caché y establecer la antigüedad máxima de la caché en 0, p. Ej.
Si es un bloque existente, puede modificarlo para agregarlo a la matriz de representación.
fuente