¿Qué es el tiempo de vida (TTL)?

En el contexto de una CDN como Fastly, el valor de tiempo de vida (TTL) es la cantidad de tiempo que un objeto específico permanecerá en la caché. El TTL también se conoce a veces como la vida útil de un objeto, porque una vez que se alcanza o se supera el TTL, el objeto queda obsoleto, lo que significa que es probable que haya una versión más nueva y "fresca" del objeto disponible para servir a los clientes. 

¿Cómo funciona TTL?

Cada objeto contiene encabezados HTTP que se utilizan para transmitir información entre el cliente y el servidor de origen en la petición y la respuesta. Puedes establecer ciertos encabezados HTTP en la respuesta para controlar qué contenido se almacena en caché y su tiempo de vida (TTL). Los encabezados como Cache-Control y Expires te permiten determinar el tiempo máximo que el objeto en caché se utiliza para responder a las peticiones sin consultar al servidor de origen. Una vez que el tiempo de vida (TTL) expire, el objeto puede mantenerse en almacenamiento, pero no se utilizará para responder a las peticiones hasta que pueda ser revalidado con el origen.

¿Por qué importa el TTL?

Distribuir contenido conlleva un coste, tanto en términos de tu coste de tráfico de salida, que es el coste que los proveedores cobran por mover el contenido fuera del almacenamiento, como el coste para tus clientes en latencia, el tiempo que pasan esperando tu contenido. 

Ser estratégico con tu TTL puede ayudarte a gestionar ambos costes. Por ejemplo, podrías elegir dar al contenido estático un TTL más alto, porque ese contenido suele permanecer relativamente inalterado y no habrá una versión más reciente en tu servidor de origen. Piensa en imágenes, archivos CSS o JavaScript. Al almacenar en caché este contenido durante más tiempo, puedes hacer menos viajes a tu servidor de origen, reduciendo los costes de tráfico de salida. Y, como el contenido se sirve desde la caché, se reduce el tiempo de latencia para tus clientes.

Por otro lado, contenido dinámico, o contenido que cambia a intervalos impredecibles, probablemente debería tener un TTL más bajo. Esto asegura que se proporcione la información más actualizada. Por ejemplo, elementos como las noticias de última hora, el contenido generado por el usuario y el inventario actual de artículos en las tiendas son tipos de contenido que cambian de manera impredecible. Configurar el TTL correcto te ayuda a equilibrar las necesidades de tus usuarios con los costes de tu negocio.  

Prácticas recomendadas de TTL

Establecer el TTL correcto te ayuda a equilibrar el rendimiento, los costes y la disponibilidad. 

  • Un TTL más alto significa menos viajes a tu servidor de origen para obtener contenido "fresco".

  • Un tiempo de vida (TTL) más bajo significa que el objeto almacenado en caché caduca más rápido y las actualizaciones desde el almacenamiento en caché ocurren con más frecuencia. 

Usa un TTL más alto para contenido estático que probablemente no sufrirá grandes cambios: imágenes, CSS y archivos JavaScript. Usa un TTL más bajo para contenido dinámico que cambia a intervalos impredecibles. Esto asegura que tus usuarios siempre tengan contenido fresco. 

Debido a que las CDN como Fastly no pueden invalidar la caché del navegador web de un usuario final, purgar objetos de la caché suele ser más fácil, y está más bajo tu control, que borrar las cachés de los navegadores web de los usuarios. Por esa razón, puede tener sentido establecer diferentes TTL para el contenido en la caché frente a los navegadores web de los usuarios. 

Puedes establecer diferentes TTL para el almacenamiento en caché y los navegadores web a través de los encabezados HTTP Suplente-Control definidos por el W3C. Usa estos encabezados HTTP para establecer un tiempo de vida (TTL) largo para los elementos en caché, pero un tiempo de vida (TTL) más corto para los usuarios que visualizan ese objeto en un navegador web.

TTL en Fastly 

No hay un enfoque único para el almacenamiento en caché: las necesidades de cada uno pueden ser ligeramente diferentes. En un escenario del mundo real, tus requisitos de almacenamiento en caché dependerán de una variedad de factores, y querrás la flexibilidad de elegir cuánto tiempo almacenar en caché el contenido estático frente al contenido dinámico. 

Como es muy fácil purgar un servicio de Fastly (ya sea para una sola URL, un grupo de recursos etiquetados o toda la Fastly cache), puedes permitirte configurar un tiempo de vida (TTL) largo al guardar elementos en la Fastly cache. Un TTL largo aumenta la proporción de aciertos de caché y la capacidad de respuesta de tu sitio para los usuarios finales, y cuando necesitas purgar para contenido nuevo, normalmente solo tarda unos segundos.

Cuando necesites control variable para tu TTL, Fastly ofrece varias opciones, entre ellas:

¿Qué sigue?

Consulta nuestra guía de mejores prácticas de caché para aprender más sobre cómo los diferentes encabezados HTTP afectan el TTL y otros comportamientos de caché. 

Más información sobre la CDN de Fastly

Solicita una demostración