Almacenar en caché

En esta página, se analizan las opciones que tienes para controlar cómo se almacenan en caché tus objetos de Cloud Storage. Esta página se centra en la caché integrada de Cloud Storage y en Cloud CDN, pero Cloud Storage también es compatible con CDN de terceros.

Descripción general

Cuando un objeto de Cloud Storage se almacena en caché, las copias del objeto se almacenan en una caché de Google o de Internet para que tu objeto se pueda entregar más rápido en solicitudes futuras. Aunque el almacenamiento en caché puede mejorar el rendimiento, también corres el riesgo de entregar contenido inactivo si realizas actualizaciones en tu objeto, pero la caché continúa entregando la versión anterior de este.

Almacenamiento en caché integrado para Cloud Storage

Cloud Storage se comporta como una red de distribución de contenidos (CDN) sin que debas realizar alguna acción porque, de forma predeterminada, los objetos legibles públicamente se almacenan en caché en la red de Cloud Storage.

Los metadatos Cache-Control de un objeto de acceso público determinan cuánto tiempo pueden almacenar en caché tu objeto las memorias caché de Internet y del navegador. De forma predeterminada, la configuración max-age para los objetos públicos es 3,600 segundos (1 hora). Puedes configurar max-age en cualquier período.

Si revocas el acceso público a un objeto, aún se podrá acceder a él a través de una caché en Internet, según la configuración Cache-Control. Si max-age se establece en el valor predeterminado de 3,600 segundos o más, el objeto puede persistir en una caché durante ese tiempo.

Para configurar los metadatos Cache-Control, consulta Edita los metadatos de objetos.

Consideraciones de rendimiento

El rendimiento puede ser mucho mejor en el caso de los objetos que pueden almacenarse en caché de forma pública. Si tienes un objeto que se usa para controlar muchos clientes y quieres inhabilitar el almacenamiento en caché a fin de que siempre se recuperen los datos más actualizados, sigue estas recomendaciones:

  • Tal vez sea mejor que configures los metadatos Cache-Control del objeto como public, con un valor de max-age de 15 a 60 segundos. La mayoría de las aplicaciones tolera que el objeto esté desactualizado por unos segundos a cambio de las mejoras de rendimiento.

  • Usa Cache-Control: no-store a fin de indicar que el objeto no debe almacenarse en caché para solicitudes posteriores en ninguna caché.

Cloud Storage con Cloud CDN

Para obtener el mejor rendimiento cuando entregas contenido a los usuarios, recomendamos usar Cloud Storage con Cloud CDN.

Para usar Cloud CDN, debes usar el balanceo de cargas HTTP(S) externo con tus buckets de Cloud Storage como backend. Si deseas ver un instructivo sobre cómo configurar un balanceador de cargas HTTP(S) con un bucket de Cloud Storage, consulta Aloja un sitio web estático.

Los modos de caché de Cloud CDN te permiten aplicar una configuración de almacenamiento en caché unificada a través de todos tus objetos. Cloud CDN usa los metadatos Cache-Control configurados en tus objetos para determinar cómo se deben almacenar en caché, a menos que anules los metadatos Cache-Control con un modo de caché o límite de TTL.

Los objetos que se almacenan en caché a través de Cloud CDN no se almacenan en la caché de Cloud Storage.

Cuando elijas entre el almacenamiento en caché integrado de Cloud Storage y Cloud CDN, ten en cuenta lo siguiente:

Función Cloud Storage Cloud CDN
Tamaño máximo de archivo que se puede almacenar en caché 10 MiB 5 TiB (si el servidor de origen admite solicitudes de rango de bytes)
Vencimiento predeterminado de la caché 1 hora 1 hora (configurable)
Compatibilidad con dominios personalizados a través de HTTPS No
Invalidación de caché No

Consideraciones sobre el precio

En cuanto a los precios, la elección entre el almacenamiento en caché integrado de Cloud Storage y Cloud CDN depende de la cantidad de datos que entregues cada mes, ya que esto determina la cantidad de costos de red que se te cobran.

  • Si entregas menos de unos cuantos GiB de datos que se pueden almacenar en caché por mes, puede que sea más económico usar el almacenamiento en caché integrado de Cloud Storage. El almacenamiento en caché de Cloud Storage puede generar costos de red más altos que los de Cloud CDN, ya que los objetos que están almacenados en caché y los que no, se cobran al mismo costo de salida (lo que significa que pagas el precio completo por los aciertos de caché). Sin embargo, solo pagas por los costos de uso de operaciones y almacenamiento de datos asociados con Cloud Storage, en lugar de la combinación de Cloud Storage, Cloud CDN y el balanceo de cargas HTTP(S).

  • Si entregas de forma regular 100 GiB de datos o más que se puedan almacenar en caché por mes, o necesitas usar registros por solicitud y encabezados personalizados, puede ser más barato para usar Cloud CDN. Se generan costos por la salida de Cloud Storage y el llenado de caché de Cloud CDN, y los precios de las redes de Cloud CDN se aplican después de que se llena la caché. Es posible que el ahorro en costos de red que obtengas de Cloud CDN amerite los costos operativos más altos asociados con el mantenimiento del balanceo de cargas de HTTP(S) y Cloud CDN junto con Cloud Storage.

¿Qué sigue?