En esta página, se analiza la caché integrada de Cloud Storage. 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 puede comportarse como una red de distribución de contenido (CDN) sin que debas realizar ninguna acción, ya que los datos de un objeto se almacenan en caché en la red de Cloud Storage si sus metadatos Cache-Control
están configurados para permitir el almacenamiento en caché y se cumplen los siguientes criterios:
- El objeto es de acceso público.
- El objeto no se almacena en un bucket que tenga habilitada la opción Pago del solicitante y no reside dentro de un perímetro de servicio de nube privada virtual.
- El objeto no se encripta con claves de encriptación administradas por el cliente ni con claves de encriptación proporcionadas por el cliente.
Cloud Storage respeta los valores estándar para Cache-Control
, como los siguientes:
public
: El objeto se puede almacenar en caché.private
: Cloud Storage no almacenará en caché el objeto, pero se puede almacenar en caché en la caché local del solicitante.no-cache
: El objeto se puede almacenar en caché, pero no se puede usar para satisfacer solicitudes futuras, a menos que primero se valide mediante Cloud Storage.no-store
: El objeto no se puede almacenar en caché.max-age=TIME_IN_SECONDS
: La cantidad de tiempo que un objeto puede almacenarse en caché antes de que se considere inactivo. Puedes configurarmax-age
en cualquier período. Los objetos inactivos no se entregan desde memorias caché, excepto en circunstancias especiales.
Para configurar los metadatos Cache-Control
de un objeto, consulta Edita los metadatos de objetos.
Comportamiento de almacenamiento en caché integrado con políticas de denegación de IAM
Cuando hay una política de denegación de IAM a nivel de la organización con la que se restringe el acceso de lectura de un objeto del identificador principal allUsers
, el almacenamiento en caché integrado está inhabilitado para el objeto, incluso si hay una política de IAM a nivel de bucket con la que se otorga acceso de lectura al objeto a allUsers
.
Sin embargo, si la política de denegación de IAM solo restringe a los usuarios individuales, el almacenamiento en caché integrado permanece habilitado para el objeto.
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 comopublic
, con un valor demax-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é.
¿Qué sigue?
- Obtén más información sobre los metadatos
Cache-Control
. - Obtén más información sobre las directivas de RFC
Cache-Control
.